EffectiveJava(5)避免创建不必要的对象
2017-02-24 19:18
507 查看
避免创建不必要的对象
1.通过延迟初始化对象提高性能 调用功能方法时调用静态工厂方法,而不是调用类时使用2.适配器:把功能委托给一个后备对象,从而为后备对象提供一个接口的对象
3.自动装箱:优先使用基本类型而不是装箱的基本类型,要当心无意识的自动装箱
自动装箱类型每次使用的时候都会创建一个对象的实例,造成大量资源浪费
``long abSDate = System.currentTimeMillis(); Long sumL = 0L;//每次调用参数sumL时都需要创建一个Long实例 for (int i = 0; i < Integer.MAX_VALUE; i++) { //大约创建了2的31次方个实例 sumL += i; } long abEDate = System.currentTimeMillis(); System.out.print(sumL+","); System.out.println("使用Long自动装箱=4428?" + (abEDate-abSDate)); long sDate = System.currentTimeMillis(); long suml = 0L; for (int i = 0; i < Integer.MAX_VALUE; i++) { suml += i; } long eDate = System.currentTimeMillis(); System.out.print(suml+","); System.out.println("使用long基本类型计算耗时= 918?" + (eDate - sDate ));
已经在上面标注了运行时间,可以看到不适用自动装箱同样的代码运行速度要快将近五倍
4.如果对象的构造器只做少量的显式工作,可以通过创建附加的对象,提升程序的清晰性,简洁性和功能性
相关文章推荐
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java 3rd 条目6 避免创建不必要的对象
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective java1——避免创建不必要的对象
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java第五条:避免创建不必要的对象
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java (5) - 避免创建不必要的对象
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- Effective Java(避免创建不必要的对象、消除过期的引用对象)
- EffectiveJava-避免创建不必要的对象
- Effective Java 学习 第五条 避免创建不必要的对象
- Effective Java -- 避免创建不必要的对象
- Effective Java 读书笔记(五):Java避免创建不必要的对象
- Effective Java之避免创建不必要的对象