單例模式(Singleton)
阿新 • • 發佈:2018-12-10
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;
}
}