当前位置:编程学习 > JAVA >>

java高性能编程规范(二)

如何java高效編程,我在这里抛砖引玉了。希望各位大牛们能把自己的经验贴出来,大家一起讨论!
 
11.单线程应尽量使用HashMap、ArrayList
 
HashTable、Vector等使用了同步机制,降低了性能。
 
12.尽量合理的创建HashMap
 
当你要创建一个比较大的hashMap时,要充分利用另一个构造函数public HashMap(int initialCapacity, float loadFactor)避免HashMap多次进行了hash重构,扩容是一件很耗费性能的事,在默认中initialCapacity只有16,而loadFactor是0.75,需要多大的容量,你最好能准确的估计你所需要的最佳大小,同样的Hashtable,Vectors也是一样的道理。
 
13.尽量减少对变量的重复计算
 

 
for(int i=0;i<list.size();i++)应该改为
 
for(int i=0,len=list.size();i<len;i++)并且在循环中应该避免使用复杂的表达式,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。
 
14.尽量避免不必要的创建
 

 
A a = new A(); if(i==1){list.add(a);}应该改为
 
if(i==1){ A a = new A();list.add(a);}
 
15.尽量在finally块中释放资源
 
程序中使用到的资源应当被释放,以避免资源泄漏。这最好在finally块中去做。不管程序执行的结果如何,finally块总是会执行的,以确保资源的正确关闭。
 
16.尽量使用移位来代替'a/b'的操作
 
“/”是一个代价很高的操作,使用移位的操作将会更快和更有效
 

 
int num = a / 4; int num = a / 8;应该改为
 
int num = a 》2; int num = a 》3;但注意的是使用移位应添加注释,因为移位操作不直观,比较难理解。
 
17.尽量使用移位来代替'a*b'的操作
 
同样的,对于'*'操作,使用移位的操作将会更快和更有效
 

 
int num = a * 4; int num = a * 8;应该改为
 
int num = a 《2; int num = a 《3;
 
原文:http://www.javady.com/index.php/262.html
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,