Effective Java~3. 私有Constructor 或Enum 强化单例
生活随笔
收集整理的這篇文章主要介紹了
Effective Java~3. 私有Constructor 或Enum 强化单例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、私有化構造器
// Singleton with static factory public class Elvis {private static final Elvis INSTANCE = new Elvis();private Elvis() { ... }public static Elvis getInstance() { return INSTANCE; }public void leaveTheBuilding() { ... } }可序列化對象單例(implements Serializable)
A、聲明所有的實例屬性為 transient
B、提供一個 readResolve 方法
2、枚舉單例
// Enum singleton - the preferred approach public enum Elvis {INSTANCE;public void leaveTheBuilding() { ... } }枚舉提供了免費的序列化機制,并提供了針對多個實例化的堅固保證,即使是在復雜的序列化或反射攻擊的情況下。
總結
以上是生活随笔為你收集整理的Effective Java~3. 私有Constructor 或Enum 强化单例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Data JPA 从入门到
- 下一篇: Java加密与解密的艺术~AES实现