更新時(shí)間:2021年05月18日17時(shí)12分 來(lái)源:傳智教育 瀏覽次數(shù):
什么是單例模式?有幾種?
單例模式:某個(gè)類(lèi)的實(shí)例在多線程環(huán)境下只會(huì)被創(chuàng)建一次出來(lái)。單例模式有餓漢式單例模式、懶漢式單例模式和雙檢鎖單例模式三種。
餓漢式:線程安全,一開(kāi)始就初始化。
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; } }
猜你喜歡:
單例模式教程:?jiǎn)卫J降膸追N實(shí)現(xiàn)方式
什么是Mybatis?Mybaits有哪些優(yōu)點(diǎn)?
下面是傳智教育公開(kāi)的幾套Java課程,您可以下載和在線觀看學(xué)習(xí),如果想深入學(xué)習(xí)java并想找到不錯(cuò)的java開(kāi)發(fā)相關(guān)工作,建議報(bào)班學(xué)習(xí)傳智教育Java高級(jí)軟件工程師課程。獲取【Java視頻教程+資料】加播妞:435946716。
北京校區(qū)