一。为优化速度,for循环参数中,尽量不要使用计算式。
例
for(int i = 0; i < uriData.size(); i++)
应该写成:
int num = uriData.size();
for(int i = 0; i < num; i++)
二。避免把try/catch块放入循环体内
把try/catch块放入循环体内,会极大的影响性能,如果编译JIT被关闭或者你所使用的是一个不带JIT的JVM,性能会下降21%之多!
三。对于boolean值,避免不必要的等式判断
这么做1)代码执行的更快(生成的字节码少了5个字节); 2)代码会更干净。
四。不要在循环体内实例化变量
在循环体中实例化临时变量会增加内存消耗。
例:
for(int i=0; i < num; i++){
Object o = new Object();
o = v.elementAt(i);
.....
}
改成
Object o;
for(int i=0; i < num; i++){
o = v.elementAt(i);
....
}
五。尽量不要使用取反操作符
取反操作符(!)降低程序的可读性。
六。使用条件操作符
例:
if(A){
return B;
}else{
return C;
}
写成 return(A ? B : C);
if(A){
a = B;
}else{
a = c;
}
写成 a = (A ? B : C);
七。在finally块中关闭Stream
程序中使用到的资源应当被释放,以避免资源泄漏。
八。复制数组,使用System.arraycopy()
System.arraycopy()要比通过循环来复制数组快的多
九。让访问实例内变量的getter/setter方法变成final
简单的getter/setter方法应该被置成final,这会告诉编译器,这个方法不会被重裁,所以,可以变成'inlined'
例:
class MAF{
public void setSize(int size){
_size = size;
}
private int _size;
}
改成
class DAF {
final public void setSize(int size){
_size = size;
}
private int _size;
}
十。避免不需要的instanceof操作
如果左边的对象的静态类型等于右边的,instanceof表达式返回永远为true。
十一。使用移位操作符来代替‘a/b’,‘a*b’操作
“/”是一个很昂贵的操作,使用移位操作将会更快更有效。
a/4 ==> a >> 2
a/8 ==> a >> 3
a/3 不能替换
a*4 ==> a << 2
a *8 ==> a << 3
a*3 不能替换
十二。如果字符串只有一个字符,在字符串相加的时候,使用‘’代替”“
例:
string = ”abc“ +‘d';
十三。用"StringTokenizer"代替’indexOf()‘和'substring()'
使用indexOf()和substring()来分析字符串,容易导致StringIndexOutOfBoundsException。
十四。尽可能的使用栈变量
如果一个变量需要经常访问,那么就需要考虑这个变量的作用域了。
访问静态变量和实例变量将会比访问局部变量多耗费2-3个时钟周期。
例:
private int _sum;
private static int _staticSum;
void getSum(int[] values){
for(int i = 0; i < num; i++){
_sum += value[i];
_staticSum += value[i];
}
}
改成:
void getSum(int[] values){
int sum = _sum;
for(int i = 0; i < num; i++){
sum += value[i];
}
_sum = sum;
}
分享到:
相关推荐
java性能优化介绍java性能优化方面的好的书籍,希望大家下载
4本高清中文版Java性能优化经典书籍: 《Java 8实战中文高清版.pdf》 《Java技术手册:第6版.pdf》 《Java性能权威指南.pdf》 《Java性能优化权威指南.pdf》
│ 开篇词 Java 性能优化,是进阶高级架构师的炼金石.mp4 │ 02 理论分析:性能优化有章可循,谈谈常用的切入点.mp4 │ 03 深入剖析:哪些资源,容易成为瓶颈?.mp4 │ 04 工具实践:如何获取代码性能数据?....
Java 性能优化实战 21 讲,Java 性能优化实战 21 讲,Java 性能优化实战 21 讲,Java 性能优化实战 21 讲
大话java性能优化,pdf版!
大话JAVA性能优化_周明耀著_北京:电子工业出版社 , 2016.04_P550
JAVA性能优化查看Linux服务器内存使用情况,JVM参数设置、分析
Java性能优化: 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 控制资源的使用,通过线程同步...
Java performance tuning, java性能优化源码 这本书绝对经典,有机会再把原书电子版传上来。
Java性能优化的45个细节
大话Java性能优化》主要提供Java性能调优方面的参考建议及经验交流。作者力求做到知识的综合传播,而不是仅仅只针对Java虚拟机调优进行讲解,另外力求每一章节都有实际的案例支撑。具体包括:性能优化策略、程序编写...
对 Java 工程师而言,性能优化能力决定了你能否进入大厂或成为一名高级工程师。但性能优化的能力却极难提升,如果你缺乏正确的方法论和实战演练,则很容易事倍功半。 视频大小:1.2G
资源名称:大话JAVA性能优化 PDF内容简介:《大话Java性能优化》主要提供Java性能调优方面的参考建议及经验交流。作者力求做到知识的综合传播,而不是仅仅只针对Java虚拟机调优进行讲解,另外力求每一章节都有实际的...
JAVA性能优化.docJAVA性JAVA性能优化.doc能优化.doc
具体 包括: 性能 优化 策略、 程序 编写 及 硬件 服务器 的 基础 知识、 Java API 优化 建议、 算法 类 程序 的 优化 建议、 并行 计算 优化 建议、 Java 程序 性能 监控 及 检测、 JVM 原理 知识、 其他 相关 ...
性能优化手册是一套java性能学习研究小技巧,包含内容:Java性能优化、JVM性能优化、服务器性能优化、数据库性能优化、前端性能优化等。 内容包括但不限于: String 性能优化的 3 个小技巧 HashMap 7 种遍历方式...
Java性能优化的45个细节 1.尽量在合适的场合使用单例 2.尽量避免随意使用静态变量 ...
java性能优化集锦java性能优化集锦java性能优化集锦