單例模式(Singleton)是設計模式中最簡單的一個,他的設計原則是保證系統中一個類隻有一個執行個體而且該執行個體易于外界通路,進而友善對執行個體個數的控制并節約系統資源。
一下是五種單列設計寫法
構造方法隻構造一次,可以使用private方法限制掉。類加載記憶體後,就執行個體話一個單列,JVM保證線程安全。 缺點:不管用到與否,類加載時就完成執行個體。
與第一種類似
此方法類在需要的時候加載,雖然達到了按需初始化的目的,但卻帶來線程不安全的問題 可以通過synchronized解決,但也帶來效率下降
雖然問題得已解決,但也帶來效率下降。
靜态内部類方式 JVM保證單例 加載外部類時不會加載内部類,這樣可以實作懶加載 這種寫法更好一些