單例設計模式

2022-06-19 06:51:09 字數 890 閱讀 9884

單例設計模式:

通過單例模式可以保證系統中,應用該模式的類乙個類只有乙個例項,即乙個類只有乙個物件例項

主要實現步驟分為三步:

①將構造方法私有化,使其不能在類的外部通過new關鍵字例項化該類物件

②在該類內部產生乙個唯一的例項化物件,並且將其封裝為private static型別

③定義乙個靜態方法返回這個唯一物件

單例設計模式是分為兩種:

1.餓漢式

立即載入就是使用類的時候已經將物件建立完畢

優點:實現起來簡單,沒有多執行緒同步問題

缺點:當單例類被載入的時候,會初始化static的instance,靜態變數被建立並分配記憶體空間,從這以後,這個static的instance物件便一直佔著這段記憶體(即便你還沒有用到這個例項),當類被解除安裝時,靜態變數被摧毀,並釋放所占有的記憶體,因此在某些特定條件下會耗費記憶體。

**實現:

2.懶漢式

在被呼叫方法時才建立物件

優點:實現簡單,當類singletontest被載入的時候,靜態變數static的instance未被建立並分配記憶體空間,當getinstance方法第一次被呼叫時,初始化instance變數,並分配記憶體,因此在某些特定條件下會節約了記憶體。

缺點:存在多執行緒問題

**實現

(多執行緒情況下)

(非多執行緒情況下)

單例設計模式(餓漢單例設計模式 懶漢單例設計模式)

1.什麼是單例 單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。2.為什麼要用單例 開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件 物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。3.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...

設計模式 單例設計模式

歷史 最早是建築學領域的模式,然後gof四人由其引申到編碼方面,總結了23種設計模式 設計模式 解決某一類事情最行之有效的方法 2.1 體現 餓漢式,保證物件的唯一性 class singleton 私有化建構函式禁止該類建立物件 private static singleton st new si...

設計模式 單例設計模式

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。即乙個類只有乙個物件例項 單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。單例設計模式 解決的問題 可以保...