第2章 创建和销毁对象 1. 用静态函数替代构造函数 2. 遇到需要使用多个构造函数时使用Builder模式 3. 用私有构造函数或enum来强化单例 4. 让私有构造函数无法被实例化 4.1 使用依赖注入取代硬连接资源(3) 5. 避免创建不必要的对象 6. 清除过期的对象引用 7. 避免使用finalize() 7.1 避免使用Cleaner 7.2 使用try-with-resources语句替代try-finally语句