zoukankan      html  css  js  c++  java
  • Effective Java 英文 第二版 读书笔记 Item 5:Avoid creating unnecessary objects.

    It is often appropriate to reuse a single object instead of creating a new functionally equivalent object each time it is needed.Reuse can be both faster and more stylish.An object can always be reused if it is immutable.

    String s=new String(“no”);  //DON”T DO THIS!

    The statement creates a new String instance each time it is executed.

    String s=”yes”;

    This version uses a single String instance,avoid creating unnecessary objects. 

    package creatObjects;
    
    import java.util.Calendar;
    import java.util.Date;
    import java.util.TimeZone;
    
    public class Person {
        private final Date birthDate=new Date();
        // Other fields,methods,and constructor omitted
    
        /*
         * The starting and ending dates of the baby boom.
         */
        private static final Date BOOM_START;
        private static final Date BOOM_END;
    
        //condition: this class must be invoke,otherwise it will direct  poor performance 
        static {
            Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
            gmtCal.set(1946, Calendar.JANUARY, 1, 0, 0, 0);
            // set(int year, int month, int date, int hourOfDay, int minute, int
            // second)
            BOOM_START = gmtCal.getTime();
            gmtCal.set(1965, Calendar.JANUARY, 1, 0, 0, 0);
            BOOM_END = gmtCal.getTime();
        }
    
        public boolean isBabyBoomer() {
            return birthDate.compareTo(BOOM_START) >= 0
                    && birthDate.compareTo(BOOM_END) < 0;
        }
    }

    There’s a new way to create unnecessary objects in release 1.5.It is called autoboxing,and it allows the programmer to mix primitive and boxed primitive types,boxing and unboxing automatically as needed.

    Prefer primitives to boxed primitives,and watch out for unintentional autoboxing.

    Don’t create a new object when you should reuse an existing one.

    Don’t reuse an existing object when you should create a new one.

  • 相关阅读:
    机器学习 | 吴恩达斯坦福课程笔记整理之(一)线性回归
    机器学习 | 李航《统计学习方法》笔记整理之(一)统计学习方法概论
    机器学习 | 算法总结
    字符串转json数组
    js获取URL请求参数与改变src
    批量删除checkbox前台后台
    运行 jar 的问题
    ajax格式,转入后台
    from表单中checkbox的多选,ajax转入后台,后台接受
    springboot 上传图片,地址,在页面展示图片
  • 原文地址:https://www.cnblogs.com/linkarl/p/4785329.html
Copyright © 2011-2022 走看看