JAVA基础技术

转载 2012年03月21日 17:39:17

JAVA基础技术,网上搜集

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

1. 尽量减少对变量的重复计算

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

2. 尽量使用移位来代替'a/b'的操作

"/"是一个代价很高的操作,使用移位的操作将会更快和更有效

int num = a / 4;
int num = a / 8;
应该改为
int num = a >> 2;
int num = a >> 3;
但注意的是使用移位应添加注释,因为移位操作不直观,比较难理解


3 .尽量使用移位来代替'a*b'的操作

同样的,对于'*'操作,使用移位的操作将会更快和更有效

int num = a * 4;
int num = a * 8;
应该改为
int num = a << 2;
int num = a << 3;

4. 尽量确定StringBuffer的容量

StringBuffer 的构造器会创建一个默认大小(通常是16)的字符数组。在使用中,如果超出这个大小,就会重新分配内存,

创建一个更大的数组,并将原先的数组复制过来,再 丢弃旧的数组。在大多数情况下,你可以在创建 StringBuffer的时候指定大小,

这样就避免了在容量不够的时候自动增长,以提高性能。 
如:StringBuffer buffer = new StringBuffer(1000);  


5 . 尽量早释放无用对象的引用

大部分时,方法局部引用变量所引用的对象 会随着方法结束而变成垃圾,因此,大部分时候程序无需将局部,引用变量显式设为null。
Java代码 
Public void test(){  
Object obj = new Object();  
……  
Obj=null;  
}  
 
上面这个就没必要了,随着方法test()的执行完成,程序中obj引用变量的作用域就结束了。但是如果是改成下面:

Java代码 
Public void test(){  
Object obj = new Object();  
……  
Obj=null;  
//执行耗时,耗内存操作;或调用耗时,耗内存的方法  
……  
}  
 
这时候就有必要将obj赋值为null,可以尽早的释放对Object对象的引用。


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>待加>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


相关文章推荐

软件测试开发技术Java初学者需要了解的几个基础问题

关于 软件测试开发 技术Java初学者需要了解的几个基础问题 Java开发 关键字: 对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越...

黑马程序员--Java基础--IO流技术详解

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

Java基础加强之框架的概念及反射技术的开发框架的原理

反射的最大价值:实现框架 1.框架与框架要解决的核心问题      框架与工具类的区别:工具类被用户类调用,而框架则是调用用户提供的类。     框架要解决的核心问题:因为在写程序时才知道要被调用的类...

Java技术教程.基础篇

  • 2015年06月25日 22:49
  • 18.69MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA基础技术
举报原因:
原因补充:

(最多只允许输入30个字)