教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

什么是單例模式?有幾種?Java面試題常問

更新時間:2021年05月18日17時12分 來源:傳智教育 瀏覽次數(shù):

什么是單例模式?有幾種?

單例模式:某個類的實例在多線程環(huán)境下只會被創(chuàng)建一次出來。單例模式有餓漢式單例模式、懶漢式單例模式和雙檢鎖單例模式三種。

餓漢式:線程安全,一開始就初始化。

public class Singleton {
	private static Singleton instance = new Singleton();
	private Singleton (){}
	public static Singleton getInstance() {
		return instance;
	}
}

懶漢式:非線程安全,延遲初始化。

public class Singleton {
	private static Singleton instance;
	private Singleton (){}
	public static Singleton getInstance() {
		if (instance = nu11) {
			instance = new Singleton();
		}
		return instance;
	}
}

雙檢鎖:線程安全,延遲初始化。

public class Singleton {
	private volatile static Singleton singleton;
	private Singleton (){}
	public static Singleton getSingleton() {
		if (singleton == nu1l) {
			synchronized (Singleton.class) {
			if (singleton == nu11) {
				singleton = new Singleton();
			}
		}
	}
	return singleton;
	}
}


猜你喜歡:

單例中懶漢和惡漢模式的區(qū)別

單例模式教程:單例模式的幾種實現(xiàn)方式

什么是Mybatis?Mybaits有哪些優(yōu)點?

Java JDK是什么?JDK安裝目錄介紹

傳智教育Java培訓課程





下面是傳智教育公開的幾套Java課程,您可以下載和在線觀看學習,如果想深入學習java并想找到不錯的java開發(fā)相關(guān)工作,建議報班學習傳智教育Java高級軟件工程師課程。獲取【Java視頻教程+資料】加播妞1605146928606_課程資料.jpg:435946716。



0 分享到:
和我們在線交談!