單例模式 設計思想 實現

2021-10-09 12:23:05 字數 908 閱讀 5682

單例模式:單例模式就是乙個類的物件只有乙個例項存在,保證物件唯一

原理:該類的構造方法為私有方法,私有封裝不對外暴漏,就不能讓其它類例項化該類的物件,只能通過該類的靜態方法得到他的例項

該類中定義乙個靜態方法當我們呼叫時返回該類的例項物件

思想:不讓其他地方建立該類物件,在本類中建立乙個物件,對外提供方,讓程式直接獲取不建立新類物件

**實現:私有化建構函式

建立乙個私有靜態的本類物件

定義公有靜態方法,返回該類物件

//餓漢模式 避免了執行緒同步的問題

//缺點就是類載入就例項化從而 造成記憶體浪費

public

class

singleton1

private

static singleton1 singleton1=

newsingleton1()

;//共有靜態方法 返回類的例項

public

static singleton1 getsingleton()

}

//懶漢模式 非執行緒同步 不建議使用

public

class

singleton2

public

static singleton2 getsingleton2()

return singleton2;

}}

//執行緒同步

public class singleton2

public static synchronized singleton2 getsingleton2()

return singleton2;}

}

設計模式 實現單例模式

單例模式是最簡單的設計模式,沒有之一,相信大家也都聽說過。單例設計模式適合於乙個類只有乙個例項的情況,比如視窗管理器,列印緩衝池和檔案系統,它們都是原型的例子。典型的情況是,那些物件的型別被遍及乙個軟體系統的不同物件訪問,因此需要乙個全域性的訪問指標,這便是眾所周知的單例模式的應用。通過單例模式你可...

單例設計思想及

單例設計思想 保證類在記憶體中只有乙個物件 如何實現類在記憶體中只有乙個物件呢?構造私有 本身提供乙個物件 通過公共的方法讓外界訪問 實現方式 餓漢式 直接建立物件 執行緒安全的 懶漢式 當要用到物件的時候,再建立物件 延遲載入方式 乙個執行緒物件的時候,執行緒安全的 多個執行緒物件的時候,執行緒不...

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

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