建立型之 單例模式

2022-10-09 01:36:12 字數 2059 閱讀 1276

//

餓漢式(靜態常量)

class

singleton01

//2、本內內部建立物件例項

private

static

final singleton01 instance = new

singleton01();

//3、提供乙個公共的靜態方法,返回例項物件

public

static

singleton01 getinstance()

}

//

餓漢式(靜態**塊)

class

singleton02

//2、本內內部建立物件例項

private

static

singleton02 instance;

static

//3、提供乙個公共的靜態方法,返回例項物件

public

static

singleton02 getinstance()

}

//

懶漢式(執行緒不安全)

class

singleton03

private

static singleton03 instance = null

;

public

static

singleton03 getinstance()

return

instance;

}}

//

懶漢式(執行緒安全)

class

singleton04

private

static singleton04 instance = null

;

public

static

synchronized

singleton04 getinstance()

return

instance;

}}

//

懶漢式(執行緒安全,同步**塊)

class

singleton05

private

static singleton05 instance = null

;

public

static

synchronized

singleton05 getinstance()

}return

instance;

}}

//

執行緒安全,雙重檢查,推薦使用

class

singleton06

private

static

volatile singleton06 instance = null

;

//提供乙個靜態的公有方法,加入雙重檢查**,解決執行緒安全問題,同時解決懶載入問題

public

static

singleton06 getinstance() }}

return

instance;

}}

//

靜態內部內,推薦使用

class

singleton07

private

static

volatile singleton07 instance = null

;

//寫乙個靜態內部類,該類中有乙個靜態屬性singleton07

private

static

class

singleton07instance

//提供乙個靜態的公有方法,直接返回singleton07instance.instance

public

static

synchronized

singleton07 getinstance()

}

設計模式之單例模式(建立型)

單例模式的核心,就是全域性只有乙個例項。下面就每一種建立方式分析其優缺點。1.餓漢式 餓漢式 public class personhungry public static personhungry getinstance 2.靜態 塊public class person private pers...

建立型 單例模式

單例模式是所有模式中我們平常用的最多而且比較好理解的乙個模式。保證乙個類緊乙個例項,並提供乙個訪問它的全域性訪問點。在一些情況下,我們可能需要某個類只能建立出乙個物件,既不讓使用者用該類例項化出多餘兩個的例項。單例類 singleton 單例類只可以建立出乙個例項。只有乙個參與者,可以看出它是乙個很...

建立型 單例模式

定義 作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱之為單例類。特點 單例類只能有乙個例項 單例類必須自己建立自己的唯一例項 單例類必須給所有的其他物件提供這一例項。餓漢模式 單例模式singleton 應用場合 有些物件只需要乙個就足夠了,如...