單例模式

參考資料:(https://skyyen999.gitbooks.io/-study-design-pattern-in-java/content/singleton.html)

目的:保證一個類別只產生一個物件實體,而且要提供存取該物件的統一方法

public class Singleton {
    private static Singleton instance; //只有一個實體


    private Singleton(){
        // 這裡面可能跑很了多code,建立物件需要花費很多資源
    }

    // 多執行緒時,當物件需要被建立時才使用synchronized保證Singleton一定是單一的 ,增加程式校能
    public static Singleton getInstance(){
        if(instance == null){
            synchronized(Singleton.class){
                if(instance == null){
                    instance = new Singleton();
                }    
            }
        } 
        return instance;
    }
}

Last updated