Effective Java 2 知识点总结(上)
关于对象
-
减少不比较的对象创建,考虑用static工厂方法减少对象的创建,类似常用的getInstace()
-
单例模式:static工厂方法比较极端的用法是单例模式自始至终只提供这个类的唯一实例。
-
不可避免的坑:static方法创建的对象的使用通常都需要考虑线程安全,能否防止反射调用私有构造方法,序列化机制,而进行防御式编程的相应操作,针对单例模式,在JDK1.5以后推荐枚举作为单例模式的首选,优点是代码简洁,线程安全,还可以防止被反射调用以及序列化避免重复创建实例。具体分析可以参考这篇文章:https://www.hollischuang.com/archives/197
-
构造函数需要多个可配置的参数,使用构建器:
` public class A { private String name; private String sex; private int age; private int height; private int weight; public static class Builder{ private String name; private String sex; private int age; private int height; p