由懶漢式單例模式談懶載入
阿新 • • 發佈:2019-02-08
先談談什麼是單例模式
首先,單例模式是物件的建立模式之一,此外還包括工廠模式。單例模式的三個特點:
1,該類只有一個例項
2,該類自行建立該例項(在該類內部建立自身的例項物件)
3,向整個系統公開這個例項介面
1、餓漢式單例模式
特點是:在定義的一開始便new一個物件
public class Singleton { /* 餓漢式*/ private static final Singleton s = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return s; } }
2、懶漢式單例模式
特點是:在真正需要new一個物件的時候才new物件
public class Singleton
{
private static Singleton s = null;
private Singleton(){}
public static Singleton getInstance(){
if(s != null){
synchronized(Singleton.class){
if(s != null)
s = new Singleton();
}
}
}
}
根據上面兩個程式碼,第二個程式碼就採用了懶載入,也就是說:懶載入是在物件真正需要被例項化的時候,才去例項化它。