1. 程式人生 > >單例模式(Singleton)

單例模式(Singleton)

Singleton模式主要作用是保證在Java應用程式中,一個類Class只有一個例項存在。 一般Singleton模式通常有幾種種形式:

飽漢模式

         定義一個類,它的建構函式為private的,它有一個static的private的該類變數,在類初始化時例項話,通過一個public的getInstance方法獲取對它的引用,繼而呼叫其中的方法。

public class SingleTon {
	private SingleTon(){
		}

	//例項化放在靜態程式碼塊裡可提高程式的執行效率,但也可能更佔用空間	
	private final static SingleTon instance = new SingleTon();
	public static SingleTon getInstance(){
		return instance;
	}
}

飢漢模式

        這個方法比上面有所改進,不用每次類一載入就生成物件,而是等要獲取這個例項的時候再生成。

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