設計模式複習之單例模式

2021-09-22 13:53:31 字數 801 閱讀 5551

單例模式:保證同乙個類只有乙個物件例項;

主要複習三種實現方式:餓漢、飽漢、雙重校驗鎖

1.餓漢 模式:

/**

* 單例模式之餓漢模式

* 類載入時即建立例項物件

* */

public class singletona

public static singletona getinstance()

}

2.飽漢模式:

/**

* 單例模式之飽漢模式

* */

public class singletonb

public static synchronized singletonb getinstance()

return singleton;

}}

3.雙重校驗鎖:

volatile作用

2.保證可見性:執行緒a在自己的工作執行緒內建立了例項,但此時還未同步到主存中;此時執行緒b在主存中判斷instance還是null,那麼執行緒b又將在自己的工作執行緒中建立乙個例項,這樣就建立了多個例項。

volatile禁止指令重排序只能保證volatile修飾的**之後的**不會在它之前執行。

設計模式複習 單例模式

單例模式,可以說是設計模式種最簡單的模式了,因為它只有乙個物件,這也就呼應了它的名字 單例模式 至於為什麼只有乙個物件,下面會進一步講述。這裡先說說單例模式的使用場景吧,在此我總結了以下幾種 1.資料共享。例如 執行緒池,需要管理執行緒的數量 2.提高效率,降低記憶體損耗。例如 db連線池,連線的是...

設計模式複習 單例模式

設計模式 單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問節點。懶漢模式涉及多執行緒上鎖問題,餓漢模式不涉及多執行緒上鎖問題 下面實現懶漢跟餓漢模式,先不考慮上鎖問題,最後補充。設計模式 迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中的各個元素,而...

設計模式之單例模式複習總結

單例模式 單例模式就是該類在整個程式的使用過程中有且僅有乙個例項。也就是它的構造方法是私有的,該類負責建立自己的物件,同時確保只有乙個物件被建立。當有些封裝的類會去重複載入,使用單例模式可以節省資源。單例模式有哪些?還有列舉,列舉的可讀性差就先不看了 懶漢模式 懶漢模式就是用到就通過呼叫getsta...