常用的設計模式 單例模式

2021-08-02 12:45:24 字數 1303 閱讀 9893

/**

* 單例模式之-----餓漢模式

*@author administrator**/

public

class

singleton ;

// 2.在類的內部,建立類的唯一的,私有的【靜態】例項

private

static singleton init = new singleton();

// 3.提供乙個獲取例項的公有【靜態】方法

public

static singleton getinit()

// 4.通過類名,直接呼叫獲取例項的【靜態】方法

public

static

void

main(string args)

}

/**

* 單例模式之----懶漢模式

* *@author administrator

* */

public

class

singleton2

//2.宣告類的唯一例項,使用private static 修飾

private

static singleton2 init;

>執行緒【不安全】 提供乙個獲取例項的方法,使用 public static 修飾

/*假設開始執行緒2進入,判斷instance為空,在將要建立例項時,cpu切換,

執行緒1又進來了,同樣instance為空 建立了例項,這是cpu切換回來到0執行緒,繼續建立例項

可見,經過分析共建立了 兩個例項,還談什麼單例。*/

public

static singleton2 getinit()

return init;

}>【執行緒安全】

/*假設0執行緒進來,instance為空,進入同步**塊,cpu切換,

執行緒1進來,instance為空,在同步**塊外,因為此時2正在裡面

ok,cup切換,執行建立例項,當1在進入**塊後,此時instace不為空,直接返回instance

當在有執行緒進來instance不為空,不用執行同步**塊,效率提供了。*/

public

static singleton2 getinit()

}

}return init;

}//4.通過類名,直接呼叫獲取例項的【靜態】方法

public

static

void

main(string args)

}

常用設計模式 單例模式

1.單例模式的特點 1.單例類在系統中僅有乙個例項 2.單例類必須自己建立自己的例項 3.單例類必須向系統中的其他物件提供這個例項 2.單例模式的兩種模式 public class test 2.1 餓漢模式 public class singleton 建立類的唯一例項 private stati...

常用設計模式 單例模式

一 單例模式定義 單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。在計算機系統中,執行緒池 快取 日誌物件 對話方塊 印表機 顯示卡的驅動程式物件常被設計成單例。這些應用都或多或少具有資源管理器的功能。每台計算機可以有若干個印表機,但只能有乙個printer spooler,...

常用設計模式 單例模式

應用執行過程當中,只有乙個物件的模式,叫做單例模式 1.構造器私有 2.提供可以獲得物件的靜態方法 3.將物件設定為靜態 懶漢模式 用的時候再建立 餓漢模式 載入的時候就建立 public class singleton 構造器私有,無法在外部例項化這個物件 外部一千一萬個物件也都只能是對perso...