java設計模式 單例模式

2021-06-22 21:02:22 字數 1140 閱讀 8895

單例模式介紹:

單例模式分:懶漢式單例、餓漢式單例。

單例模式有一下特點:

1、單例類只能有乙個例項。

2、單例類必須自己自己建立自己的唯一例項。

3、單例類必須給所有其他物件提供這一例項。

單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。

單例有併發問題,只有乙個例項,多個執行緒就可能同時或不同時訪問它,那麼它的狀態(屬性成員)的一致性就是個問題,寫入狀態的方法必須同步。

單例模式的應用:

在計算機系統中,執行緒池、快取、日誌物件、對話方塊、印表機、顯示卡的驅動程式物件常被設計成單例。

sping配置檔案bean預設singleton=true,在spring的beanfactory當中這個bean例項只有乙個。

在gof中的單例模式是指乙個classloader中只存在類乙個例項。

而在spring中的單例實際上更確切的說應該是:

1.每個spring container中定義的bean只存在乙個例項

2.每個bean定義只存在乙個例項。

1. 餓漢式單例類

//餓漢式單例類.在類初始化時,已經自行例項化 

public class singleton 

//自行例項化

private static final singleton single = new singleton();

//靜態工廠方法

public static singleton getinstance()

}

2. 懶漢式單例類

//懶漢式單例類.在第一次呼叫的時候例項化 

public class singleton 

//注意,這裡沒有final

private static singleton single = null;

//靜態工廠方法

public synchronized static singleton getinstance()

return single;

}}

Java設計模式 單例模式

單例模式 singleton 顧名思義,就是乙個類只有乙個例項。作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。從具體...

java設計模式 單例模式

這個模式是很有意思,而且比較簡單,但是我還是要說因為它使用的是如此的廣泛,如此的有人緣,單例就是單 一 獨苗的意思,那什麼是獨乙份呢?你的思維是獨乙份,除此之外還有什麼不能山寨的呢?我們舉個比較難複製的物件 皇帝中國的歷史上很少出現兩個皇帝並存的時期,是有,但不多,那我們就認為皇帝是個單例模式,在這...

Java 設計模式 單例模式

單例模式是一種物件建立模式,確保系統中乙個類只有乙個例項。單例模式如下特點 1 單例類只能有乙個例項。2 單例類必須自己自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。採用這種設計模式有兩大好處 1.對於頻繁使用的物件,可以省略建立物件所花費的時間 2.由於new操作的次數減少,對...