1.尽量避免在经常调用的方法,循环中new对象,由于系统不仅要花费时间来创建对象,而且还要花时间对这些对象进行垃圾回收和处理,在我们可以控制的范围内,最大限度的重用对象,最好能用基本的数据类型或数组来替代对象。 2.尽量使用StringBuilder和StringBuffer进行字符串连接 3.变量定义:当要使用变量时才定义,将变量的生命周期缩小到应用的范围,这样做的好处是可以减少变量误操作的可能性,增加代码的可读性。 4.判断条件多的时候,用switch(内存中以跳转表保存),效率高,只判断一次(并不是每个case条件都判断一次,根据条件直接一次定位到符合条件的case) 5.根据实际情况调整条件顺序 实例1:假设实际情况中,大多数数据是在70-80范围内,那么每次执行以下代码时,前两个条件都进行了无效判断,浪费内存,优化后的实例2,优化原则:根据实际情况,尽量避免无效的条件判断 [java] view plaincopyprint?
- if(x>90)
- xxx
- else if(x>80)
- xxx
- else if(x>70)
- xxx
实例2:
[java] view plaincopyprint?
- if(x>70 && x<80)
- xxx
- else if(x>90)
- xxx
- else if(x>80)
- xxx
6.三元运算符效率高
7.利用if短路提高效率 实例1: if(x%100==0 || x%4==0) 实例2: if(x%4==0 || x%100==0) 假如从1循环到100,实例1前后两个条件都判断,实例2,在大多数情况下只要判断前一个条件就可以确定全式的值 |