1. 在C语言中,我们通常习惯把需要的对象申明放在函数的开头,但其实这是白白浪费了内存,在Java中,不到需要的时候,请不要创建对象。
2. 垃圾回收会不定期的搜索已经没有用的对象,然后释放对象的内存,但这种搜索是比较耗资源的。为提高效率,我们可以主动为垃圾回收器做一些工作,只需要在废弃的对象后面加一句代码即可:
while(…){
…
a = null;//将a的引用赋值为null
}
3. System.arraycopy()效率比我们自己写for循环效率要高
4. 减少for循环的切换次数
for(int i=0;i<1000;i++){
for(int j=0;j<20;j++){
…
}
}
写成下面的形式会让程序跑的更快:
for(int j=0;j<20;j++){
for(int i=0;i<1000;i++){
…
}
}
5. 在某些虚拟机中
for(int i = 0;i<a.length();i++)这种形式要比for(int i=a.length-1;i>=0;i--)要快
6. 我们都知道要比较两个String的内容是否相同,要用equals()方法,但其实还有一种方法比它的效率更好,那就是字符串驻留。示例代码:
str = str.intern();//字符串驻留
if(str == str1) …//之后就可以直接使用==来比较字符串
7. 我们都知道final是个很强大的关键字,有类似C++中的const的功能,可以防止子类继承等,但它还有另外一个非常强大的用法,就是相当于C++种的inline(内联)关键字。我们可以把一些使用非常频繁而又短小的方法声明为final方法,这样,调用它的地方就相当于直接代码替换,避免了方法调用的开销。