在進行開發的時候,我們在有些情形下有些物件我們只需要乙個。例如:配置檔案、工具類、執行緒池、快取、日誌物件等。
如何保證我們的物件只有乙個呢?我們可以通過單例來實現。
常用的單例有兩種:餓漢模式和懶漢模式。
餓漢模式:當類載入的時候就會建立這個單例物件。(載入比較慢,但是執行的時候會比較快,執行緒安全)
public class singleton//2.建立乙個私有的靜態例項物件
private static singleton instance = new singleton();
//3.通過乙個共有的靜態方法獲得例項物件
public static singleton getinstance()
}
懶漢模式:類載入的時候不會建立類的單例,只有第一次在呼叫getinstance()方法的時候,才會建立類的單例。(載入快,執行時第一次獲取慢,非執行緒安全)
public class singleton//2.宣告乙個類的唯一例項,使用private static修飾
private static singleton instance;
//3.通過乙個共有的靜態方法獲得例項物件
public static singleton getinstance()
return instance;
}}
Singleton 單例 模式
singleton 模式的宗旨在於確保某個類只有乙個例項,別且為之提供乙個全域性訪問點。為了防止其他工作人員例項化我們的類,可以為該類建立唯一乙個構造器,並將構造器的可見 設定為私有。值得注意的是,如果我們建立了其他的非私有的構造器,或者根本沒有為該類提 供構造器,那麼其他人員還是能例項化我們的類。...
Singleton 單例 模式
今天看了,單例模式。感覺他的本質就是,控制類例項的個數。特例就是,控制static變數的唯一性,保證各個程式共享著同一例項。乙個例子 package singleton description 這是乙個單例模式的使用demo author kyle goal 實現乙個類僅有乙個例項 singleto...
單例(Singleton)模式
單例模式的特點 singleton模式包含的角色只有乙個,那就是singleton。singleton擁有乙個私有建構函式,確保使用者無法通過new取得singleton的例項。除此之外,該模式中包含乙個靜態私有成員變數instance與靜態公有方法instance。instance方法負責檢驗並例...