一 用静态工厂方法来替代构造器
1 静态工厂方法有名字
2 不必在每次调用它们的时候,都创建一个对象。
3 可以返回任何子类型的对象。
4 使代码变得更简洁
二 遇到多个构造器参数,可以考虑用构建器
多构造参数时,客户端难调用。构建器可以添加默认值和约束。
三 用私有构造函数或枚举类型来强化Singleton属性
singleton对象需要在输入输出流传输时,需要实现
Serializable,在输出时候实现readResolve方法来还原对象。
枚举类型无偿提供序列化操作。
四 使用私有构造函数来强化不可实例的能力
五 避免创建不必要的对象
优先使用基础类型
对于非常大数据,重用对象池
六 清除过期的对象引用
只要类是自己管理内存,就应该警惕内存泄露。(栈)
缓存和监听回调也是内存泄露的常见来源。
七 避免使用终结函数
JVM已经帮忙执行终结处理。调用终结函数,存在性能问题。
如果真的需要使用终结处理,使用try,finally来结合使用,确保终结处理执行。