《劍指offer》系列 單例模式

2021-10-02 18:41:17 字數 984 閱讀 9084

永遠年輕,永遠熱淚盈眶。

寫乙個單例模式

單例模式有多種寫法,以下整理了六種寫法,你都學會了嗎?

public

class

test01

public singleton1 getinstance()

}/**

* 懶漢式--非執行緒安全的

*/public

static

class

singleton2

public singleton2 getinstance()

return instance;}}

/** * 懶漢式--執行緒安全的(效率低,每次都要上鎖)

*/public

static

class

singleton3

public

synchronized singleton3 getinstance()

return instance;}}

/** * 懶漢式--執行緒安全的(效率高,推薦使用)

*/public

static

class

singleton4

public

static singleton4 getinstance()

}}return instance;}}

/** * 靜態內部類--執行緒安全(效率高,推薦)

*/public

static

class

singleton5

private

singleton5()

public

static singleton5 getinstance()

}/**

* 列舉方式

*/public

enum singleton6

}}

劍指offer 單例模式

單例模式分為懶漢式和餓漢式。所謂單例模式,就是構造器私有化,對外界提供唯一的乙份例項。public class test class person 構造器私有化 public static person getinstance return p public class test class per...

劍指offer 題2 單例模式

懶漢式 第一次呼叫時載入 1.第一版 上來沒有想很多,直接敲起,使用synchronized保證執行緒安全,如下 public class single 使用synchronized保證安全 public static synchronized single getsingle return ins...

劍指offer 2 單例模式

實現乙個單例模式 實現單例模式的關鍵在於 將建構函式設定為private,或是protected 建立乙個靜態函式,呼叫建構函式。使用乙個靜態成員變數儲存單例物件 因為只能在堆上分配記憶體,因此需要乙個函式顯式的呼叫析構函式 class singleton return obj singleton ...