單例模式-餓漢模式
1、將構(gòu)造方法私有化,不允許外部直接創(chuàng)建對(duì)象 PRivate Singleton(){}2、自己在類的內(nèi)部創(chuàng)建一個(gè)唯一實(shí)例 private static Singleton instance = new Singleton();3、提供一個(gè)用于獲取實(shí)例的方法 public static Singleton getInstance(){return instance};
public class Singleton{ private static Singleton instance=new Singleton(); private Singleton(){}public staitc Singleto getInstance(){ return instance; } }單例模式-懶漢模式
1.構(gòu)造函數(shù)私有化
2.創(chuàng)建類的唯一實(shí)例靜態(tài)成員變量(為null)
3.創(chuàng)建獲取單一實(shí)例的靜態(tài)成員方法 區(qū)別在于實(shí)例本身產(chǎn)生的時(shí)間(類加載時(shí)還是類使用時(shí))
public class Singleton{ private Singleton(){}private static Singleton instance; public static Singleton getInstance(){ if(instance==null){ return new Singleton(); } else { return instance; } }區(qū)別:餓漢式:聲明的同時(shí)直接實(shí)例化。 特點(diǎn):加載類時(shí)比較慢,但運(yùn)行時(shí)獲取對(duì)象的速度比較快,線程安全。懶漢式:聲明的時(shí)候不實(shí)例化。 特點(diǎn):加載類時(shí)比較快,但運(yùn)行時(shí)獲取對(duì)象的速度比較慢,線程不安全。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注