兩種常用的單例模式

單例設計模式是面試中經常被問到的,常見的就是讓寫出一個單例模式的例子出來,通過經驗的積累我推薦下面2個代碼片段,這兩種方法差別不大但是記憶起來特別方便。只需記住下面兩點就能寫出單例設計模式的例子了

(1)單例模式的類構造方法是私有的

(2)單例模式返回的實例以static關鍵字修飾

下面來看兩個單例模式的例子


1.懶漢模式


package org.lxh;
public class UseSingleton {
                                     
    private static UseSingleton sin=null;
                                      
    private UseSingleton(){}
                                      
    public static synchronized UseSingleton getInstance(){
        if(sin==null){
            sin=new UseSingleton();
        }
        return sin;
    }
}


2.飢漢模式

這種模式最簡單了代碼比上面那種方法要少


package org.lxh;
public class UseSingleton {
    private static UseSingleton sin = new UseSingleton();
    private UseSingleton() {
    }
    public static  UseSingleton getInstance() {
                  
        return sin;
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章