当前位置:首页 > > 正文内容

java网站性能优化

2020-12-1226
java网站性能优化,javaweb性能优化有哪些,下面小编从以下几点详细介绍一下java网站性能优化

一、如何对网站进行性能优化

1、删除功能:重要数据伪删除,删除校验用户(避免A用户可以删除任何人数据)。文件上传预览删除功能不能做服务器文件删除,不要为了节省服务器资源给用户留下接口。如果要资源有限,那么在删除的时候也需要做用户校验(文件命名或文件路径关联用户ID等)
2、发短信:基本上没有人愿意自己和短信运营商直接对接短信业务,1般都是通过第3方短信服务商购买短信。在用户主动获取短信的时候前端做图片验证码校验,后端做发送量,发送间隔校验(图片验证码是可以被机识别的)。做短信日志记录,这些日志可以为前面的后台校验提供数据,系统运行期间的各种好处就不11举例了。重要功能做语音验证码,比如注册送现金的活动,短信验证码可以被识别
3、页面数据获取:用户平凡的刷新数据会加大服务器压力,当然谁也挡不住用户刷新是吧,但是减少主动刷新次数也是1个减小服务器压力的方法,咱不能自己坑自己吧,(Table页切换做校验,有数据就不再拉取等等)
4、前端静态资源做CDN,可以提高用户访问速度,减少服务器压力
5、用户输入做SQL注入,javascript脚本注入
6、用到的Ajax请求:做ajax加拦截器,通过消息头过滤掉非ajax的地址栏访问,(谁然不1定能全部拦截,但是拦掉1部分小白还是可以得,总不能是个人就能攻击吧)
7、用户输入数据校验,输入文字长度,数字输入大小,int 、long等数据类型合理使用,(积分兑换的时候用户只有1积分,你让他输入兑换积分,你输入21000000000,int 接收的时候,超出了范围成了负数1永远大于负数),还有1点很重要,你的任何校验都不要依靠前端,毕竟前端是为用户的体验而生的,为了自己的安全还是多写点后台校验吧,
8、异常捕获:不要将异常信息抛给用户,首先不美观,其次这些错误信息中可能含有SQL错误,通过这些sql可以了解到你的数据库结构
9、前端数据获取的时候减少不必要字段输出,java面向对象,表数据面向对象,本来页面只需要两个数据,结果你返回了1个实体,前端可已查看到你数据库表结构,多看几个页面那么你的数据库设计就给了人家了呢
10、用户信息加密传输,1定不要把重要数据留在客户端,泄密重要信息的责任是要你承担的哦
11、 现在越来越多人使用阿里云服务器,做客户项目的时候服务器是客户购买的,当然阿里云账户客户也有,你的配置文件不加密客户就能看见你的系统配置,结合上面的搞搞你的数据库,那你的产品还有什么秘密,至于代码,你觉得他值钱么
12、 前端JS 脚本 和页面分离,压缩或加密,不要你的团队幸幸苦苦开发的唯美的页面和效果,被人家1个ctrl+s拿去回家研究了,何况你的js中还有大量的逻辑
13、 线程安全:
1、synchronized同步 (有序性、可见性),
2、使用生产者消费者模式,(唤醒notify(),等待wait())
3、volatile同步(可见性,非有序性,只在无基础数据的赋值操作,直接操作主内存,减少主内存复制到工作内存的cpu消耗)
104、 数据库读写分离的时候要注意个别业务读也要读在主库上(避免主从同步失败或延时)

二、Java性能优化中文版PDF下载

文件比较大,给你下载地址吧:
http://download.csdn.net/download/hx0_0_8/8434567

三、提高Java性能的几个高效用法

1.循环

■ 在重要的循环里,消除循环终止判断时的方法调用。。。
例如:将...

for( int i = 0; i < collection.size(); i++){
...
}

替换为…

for( int i = 0; n = collection.size(); i < n; i++){
...
}

通常,把与循环index不相关的移到循环的外面

for( int i = 0; terminal = x.length; i < terminal; i++){
X[i] = x[i] / scaleA * scaleB
}

应该该成:

Double scale = scaleb / scaleA;
for( int i = 0; terminal = x.length; i < terminal; i++){
X[i] = x[i] * scale
}

2.字符串

■ 消除字符串连接
■ 创建长字符串时,总是使用StringBuffter代替String
■ 预先分配StringBuffer空间
StringBuffer sb = new StringBuffer(5000);

3.基本数据类型

■ 在重要的循环里使用基本数据类型(int型数据通常比long/double型数据更快)
■ 基本数据类型(Boolean,Integer,etc)的包装类主要用在当传递的方法参数必须是1个对象的引用时(而不是1个基本数据类型)
■ 对所有的常量代数表达式使用static final修饰符
1 使常量更容易引用(编译器预先计算常量表达式)

4.异常

■ 异常只用于单个真正的错误条件
1 抛出1个异常和执行1个catch代码块花费是很高的(主要由于当创建1个异常时要获得线程栈的1个快照
1 只当条件真的异常时才抛出1个异常
■ 使编译器和运行时最优化,将几个方法调用放在1个try/catch块中,而不是为每个方法调用实现几个try/catch块

try{
Some.method1(); //Difficut for javac
} catch (method1Exception e) { //and the JVM runtime
//Handle exception 1// to optimixe this code
}

try{
Some.method2();
} catch (method2Exception e) {
// Handle exception 2
}

try{
Some.method3();
} catch (method3Exception e) {
// Handle exception 3
}

try{
Some.method1();
Some.method2();
Some.method3(); // easier to optimize
} catch (method1Exception e) {
// Handle exception 1
} catch (method2Exception e) {
// Handle exception 2
} catch (method3Exception e) {
// Handle exception 3
}

5.基准

■ 注意,所有这些技巧会因不同的平台和虚拟机而不同
1 例如:在有些servlet容器内,通过1个OutputStream作为字节输出会更快
1 在其它的容器内,通过1个PrintWriter输出字符会更快
■ 这些技巧描述的是最可移植的建议
■ 你可能需要运行1些基准来判断在你的平台上怎么样是最快的

四、如何优化web网站的性能

提升页面加载速度
1、图片大小越小打开速度越快
2、网页中代码不要臃肿所以不要有无用代码
3、js css使用外部引入
4、如果js css 不是显示用户看到的信息 而是1些特效的话放在最后加载。

五、java web性能优化有哪些

最常见的优化方案代码优化最简单的就是提高代码的重用性,不管是前端代码还是后端代码,学会把公共性的代码抽取出来,事物的控制,特别是当对数据库进行增加删除修改的时候,保持数据的1致性,数据库的话加索引,视图等等,SQL语句关联的时候注意尽量用高效的sql语句。1般的优化差不多就是这样,当然,更多的要更难了。

如果您对于java网站性能优化,javaweb性能优化有哪些,还是不太理解,欢迎留言评论

相关文章

aso优化网站

aso优化网站

aso优化网站,什么是ASO优化它与SEO有什么区别,下面小编从以下几点详细介绍一下aso优化网站: 一、如何做好ASO优化? 要谈如何做好ASO优化,首先我们得了解ASO优化是什么。 ...

2014年seo工作计划

2014年seo工作计划

2014年seo工作计划,谁做过seo年工作计划,下面小编从以下几点详细介绍一下2014年seo工作计划: 一、seo第1次做,要写工作计划,应该怎么写? 1、网站前期准备网站主题定位确定网站的3...

seo网站推

seo网站推

seo网站推,什么是SEO网站优化的外推,下面小编从以下几点详细介绍一下seo网站推: 一、网站seo推广是什么意思 网站seo推广的意思就是通过seo优化技术把网站推广出去,网站的seo推广是以...

如何判断关键词的放置有没有优化过度?

如何判断关键词的放置有没有优化过度?

相信不少SEOER对SEO的发展方向或多或少都产生过迷茫,而搜索引擎的每一次改变,每一次调整,都会对竞价和SEO的工作产生巨大的影响,遇到很多问题,例如:如何判断关键词的放置有没有优化过度?,虽然是一...

百度网站的优化软件

百度网站的优化软件

百度网站的优化软件,SEO推广软件:免费的百度网站优化软件有哪些,下面小编从以下几点详细介绍一下百度网站的优化软件: 一、用来优化网站的软件有那些? 去看1下百度的"绿萝算法"...

武汉seo工作室

武汉seo工作室

武汉seo工作室,水天堂seo工作室外链真的很垃圾谁用谁知道,下面小编从以下几点详细介绍一下武汉seo工作室: 一、潮州洛希网络科技工作室做百度SEO推广怎么样? 找过这个工作室,总体来说其优势主...

seo导航优化

seo导航优化

seo导航优化,怎么去设置这些导航才利于SEO优化,下面小编从以下几点详细介绍一下seo导航优化: 一、seo优化网站导航的目的是什么呢? 优化网站导航的目的搜外网告诉你:1、引导用户完成网站各内...

讨论:360搜索来的流量转化率比百度要高很多

讨论:360搜索来的流量转化率比百度要高很多

网站每天更新文章,发外链,目的就是使网站在百度等搜索引擎上有好的排名。但是还有很多未知的问题,例如:讨论:360搜索来的流量转化率比百度要高很多,虽然是一个问题,但是牵涉到了包含:排名、搜索、算法、外...

发现百度搜索结果页新增内部参数inter

发现百度搜索结果页新增内部参数inter

保持好奇,大胆假设,小心求证,证实结果,然后出去胡说,迷惑众人。例如:发现百度搜索结果页新增内部参数inter,虽然是一个问题,但是牵涉到了包含:bc、搜索、工具、经验、百度、302、seo、百度搜、...

seo长尾流量

seo长尾流量

seo长尾流量,SEO:网站关键词做上去了就是没流量怎么解决,下面小编从以下几点详细介绍一下seo长尾流量: 一、SEO优化过程中如何选择长尾词 第1:和网站内容相关。网站关键词的选择1定要和网站...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。