1. 程式人生 > >設計模式之單例模式 Singleton

設計模式之單例模式 Singleton

方式 logs 作用 內部類 內部 singleton 訪問 let 共享

  • 核心作用

保證一個類只有一個實例,並且提供一個訪問該實例的全局訪問點。

  • 常見應用場景

技術分享

  • 優點

由於單例模式只生成一個實例,減少了系統性開銷,當一個對象的產生需要比較多的資源時,如讀取配置,產生其他依賴對象時,則可以通過在應用啟動時直接產生一個單例對象

然後永久駐留內存的方式來解決

單例模式可以在系統設置全局的訪問點,優化共享訪問資源,例如可以設計一個單例類,負責所有數據表的映射處理

  • 5種單例模式

1、餓漢式(線程安全,調用效率高,但是不能延時加載)
2、懶漢式(線程安全,調用效率不高,但是可以延時加載)
3、雙重檢測鎖式(由於JVM內部模型的原因,偶爾會出問題。這個可以解決的,具體見後面的singleton實例)
4、靜態內部類式(線程安全,效率高,有延時)
5、枚舉式(線程安全,效率高,無延時,能天然放著反射和反序列化漏洞)

設計模式之單例模式 Singleton