枚舉類實現線程安全html
單例模式:java
單例模式是經常使用的設計模式,做用是確保某個類只有一個實例嗎,自行實例化並向整個系統提供這個實例。線程池、緩存、日誌對象、對話框對象等常被設計成單例,選擇單例模式是爲了不不一致的狀態設計模式
簡單的實現可參考 單例模式緩存
可是這樣實現仍然存在缺點:序列化可能會破壞單例模式,每次反序列化一個序列化的對象實例時都會建立一個新的實例安全
可使用枚舉來實現,以下post
public enum SingletonEnum { INSTANCE; private String name; public String getName(){ return name; } public void setName(String name){ this.name = name; } }
直接使用SingletonEnum.INSTANCE來
進行訪問,不用考慮序列化和反射的問題。this