設計模式之單例模式 Singleton
阿新 • • 發佈:2017-09-02
方式 logs 作用 內部類 內部 singleton 訪問 let 共享
- 核心作用
保證一個類只有一個實例,並且提供一個訪問該實例的全局訪問點。
- 常見應用場景
- 優點
由於單例模式只生成一個實例,減少了系統性開銷,當一個對象的產生需要比較多的資源時,如讀取配置,產生其他依賴對象時,則可以通過在應用啟動時直接產生一個單例對象
然後永久駐留內存的方式來解決
單例模式可以在系統設置全局的訪問點,優化共享訪問資源,例如可以設計一個單例類,負責所有數據表的映射處理
- 5種單例模式
1、餓漢式(線程安全,調用效率高,但是不能延時加載)
2、懶漢式(線程安全,調用效率不高,但是可以延時加載)
3、雙重檢測鎖式(由於JVM內部模型的原因,偶爾會出問題。這個可以解決的,具體見後面的singleton實例)
4、靜態內部類式(線程安全,效率高,有延時)
5、枚舉式(線程安全,效率高,無延時,能天然放著反射和反序列化漏洞)
設計模式之單例模式 Singleton