常用設計模式 單例模式

2021-09-25 21:46:01 字數 839 閱讀 3141

應用執行過程當中,只有乙個物件的模式,叫做單例模式

1.構造器私有

2.提供可以獲得物件的靜態方法

3.將物件設定為靜態

懶漢模式:用的時候再建立

餓漢模式:載入的時候就建立

public class singleton 

// 構造器私有,無法在外部例項化這個物件

// 外部一千一萬個物件也都只能是對person內部newperson物件的引用。

// 因為外部定義的person類物件沒有例項化能力。這就是單例設計模式,從頭至尾只有乙個物件的例項(單例)

//餓漢模式 當類載入時 物件就已經被建立好了

// public static singleton single=new singleton();//靜態變數

// public static singleton getsingle()

//懶漢模式 需要時再建立物件

public static singleton single=null;

public static singleton getsingle()

//如果single不為空,直接返回當前物件,保證操作的物件只有乙個

return single;

}}

餓漢模式可能產生的問題:浪費記憶體空間

優點:執行緒安全

單例模式可能產生的問題:成員變數是共享的 執行緒不安全

常用設計模式 單例模式

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

常用設計模式 單例模式

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

常用設計模式 單例設計模式

它的運作方式是這樣的 如果你建立了乙個物件,同時過一會兒後你決定再建立乙個新物件,此時你會獲得之前已建立的物件,而不是乙個新物件。注意,普通建構函式無法實現上述行為,因為建構函式的設計決定了它必須總是返回乙個新物件。和全域性變數一樣,單例模式也允許在程式的任何地方訪問特定物件。但是它可以保護該例項不...