5 避免创建不必要的对象
一般来说,最好能重用对象而不是在每次需要的时候就创建一个相同功能的新对象。重用的方式即快速,又流程。如果对象是不可变的,他就始终可以被重用。
- 对于只需要实例化一次的对象,可以使用静态初始化器。static{}
- 优先使用基本类型而不是装箱基本类型(基本类型:long; 装箱基本类型:Long)
public static void main(String[] args) {
//使用Long 时,每次sum增加long时都要构造一个实例
//耗时:Long 43秒,long 6.8秒
//Long sum = new Long(0);
long sum1 = 0L;
int i;
for ( i = 0; i < Long.MAX_VALUE; i++){
sum1 += 1;
}
}
例1:
String s = new String("string");
每次执行的时候都会创建一个新的String 实例。
改进:
String s = "string";
例2:
List list = new ArrayList();
改进:
先声明对象,当需要使用时才会创建实例。可反复使用。
List list;
list = new ArrayList();