1. 程式人生 > >由懶漢式單例模式談懶載入

由懶漢式單例模式談懶載入

先談談什麼是單例模式

首先,單例模式是物件的建立模式之一,此外還包括工廠模式。單例模式的三個特點:
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();
			}
		}
	}
}

根據上面兩個程式碼,第二個程式碼就採用了懶載入,也就是說:懶載入是在物件真正需要被例項化的時候,才去例項化它。