單例設計模式

2021-08-19 09:21:41 字數 899 閱讀 3356

關於單例設計模式,大家都是老生常談的東西了,在這裡做一下記錄

什麼是單例

單例模式是設計模式中最簡單的形式之一,這一模式的目的是使得類的乙個物件成為系統中的唯一例項

單例有什麼好處

單例模式會阻止其他物件例項化自己的單例物件的副本,由於在系統記憶體中只存在乙個物件,因此可以節約系統資源,單例減少了物件的建立,自然減少了堆記憶體的使用

什麼時候用單例

單例分類

餓漢式

public class singletonmode 

public static singletonmode getinstance()

}

懶漢式

public class singletonmode 

public static singletonmode getinstance()

}} return singletonmode;

}}

列舉式

public enum singletonmode 

}

注意:

反射和反序列化會使餓漢式和懶漢式單例完全失效(列舉方式除外)(序列化會通過反射呼叫無引數的構造方法建立乙個新的物件)(這也是面試官問單例模式常問道的乙個問題)

public class singletonmode implements serializable 

public static singletonmode getinstance()

}} return singletonmode;

} //解決反序列化單例失效問題

private object readresolve()

}

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

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

設計模式 單例設計模式

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

設計模式 單例設計模式

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