單例模式Singleton

2021-06-18 04:25:48 字數 826 閱讀 3515

單例模式是一種常用的軟體設計模式。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。

一、懶漢模式

instance例項在執行時構造,類載入時不構造。所以類載入快,執行時獲取物件速度較慢,缺點是不是執行緒安全的。

public class singleton 

//使用乙個變數來快取曾經建立的例項

private static singleton instance;

//將構造器使用private修飾,隱藏該構造器

private singleton()

//提供乙個靜態方法,用於返回singleton例項

//該方法可以加入自定義的控制,保證只產生乙個singleton物件

public static singleton getinstance()

return instance;

}}

二、餓漢模式

instance在類載入時便構造,所以類載入較慢,執行時使用instance很快,且是執行緒安全的。

public class singleton 

/*** @param args

*/public static void main(string args) else

} public static singleton getinstance()

}

單例模式的用途就是為了創造乙個唯一的物件,比如執行緒池、工具類等等

Singleton 單例 模式

singleton 模式的宗旨在於確保某個類只有乙個例項,別且為之提供乙個全域性訪問點。為了防止其他工作人員例項化我們的類,可以為該類建立唯一乙個構造器,並將構造器的可見 設定為私有。值得注意的是,如果我們建立了其他的非私有的構造器,或者根本沒有為該類提 供構造器,那麼其他人員還是能例項化我們的類。...

Singleton 單例 模式

今天看了,單例模式。感覺他的本質就是,控制類例項的個數。特例就是,控制static變數的唯一性,保證各個程式共享著同一例項。乙個例子 package singleton description 這是乙個單例模式的使用demo author kyle goal 實現乙個類僅有乙個例項 singleto...

單例(Singleton)模式

單例模式的特點 singleton模式包含的角色只有乙個,那就是singleton。singleton擁有乙個私有建構函式,確保使用者無法通過new取得singleton的例項。除此之外,該模式中包含乙個靜態私有成員變數instance與靜態公有方法instance。instance方法負責檢驗並例...