設計模式建立型模式 單例模式

2021-09-01 16:00:25 字數 1006 閱讀 7264

單例模式(singletonparrten):保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點

建立單例模式需要三方面操作

1.建立乙個物件

2.定義乙個私有構造方法(禁止外部類對其進行例項化)

3.提供乙個對外訪問的方法

單例模式可以通過懶漢式和餓漢式來實現。

懶漢式-執行緒不安全

/**

* 懶漢式-單例模式

* 執行緒不安全

* 在多執行緒的程式中,多個執行緒同時訪問singleton類,呼叫getinstance例項會有可能造成建立多個例項的。

*/public class singleton ;

public static singleton getinstance()

return instance;

}}

懶漢式-執行緒安全

/**

* 懶漢式-單例模式

* 執行緒安全

*/public class singleton ;

public static synchronized singleton getinstance()

return instance;

}}

懶漢式-執行緒安全(雙重鎖定) 

/**

* 懶漢式-單例模式

* 執行緒安全

* 雙重鎖定

*/public class singleton ;

public static synchronized singleton getinstance()}}

return instance;

}}

餓漢式

/**

* 餓漢式

*/public class singleton;

public static singleton getinstance()

}

設計模式 建立型模式 單例模式

類載入時建立物件 常量 class eagersingleton public static eagersingleton getinstance 延遲載入 假如在某一瞬間 執行緒a 和 執行緒b 都在呼叫getinstance 方法,此時instance物件為null值,均能通過instance ...

設計模式 建立型模式 單例模式

優點 缺點頻繁使用 建立與銷毀 資源占用較多,例項化消耗大且耗時長,通過共享單例,加快物件的訪問速度 類要求只生成乙個例項的場景 需要單一控制邏輯的操作。具體如 多執行緒執行緒池 網路連線池 訪問資料庫或者檔案的物件等等。結構主要角色 實現 懶漢式實現 實現特點 該模式的特點是類載入時沒有生成單例,...

設計模式 建立型模式 單例模式

亦稱 單件模式 singleton 單例模式是一種建立型設計模式,讓你能夠保證乙個類只有乙個例項,並提供乙個訪問該例項的全域性節點。單例模式同時解決了兩個問題,所以違反了 單一職責原則 1.保證乙個類只有乙個例項。2.為該例項提供乙個全域性訪問節點 所有單例的實現都包含以下兩個相同的步驟 如果你的 ...