單例模式

 單例模式特點:

  1、單例類只能有一個實例。
  2、單例類必須自己創建自己的唯一實例。
  3、單例類必須給所有其他對象提供這一實例。

懶漢式單例:

//懶漢式單例類.在第一次調用的時候實例化自己   
public class Singleton {  
    private Singleton() {}  
    private static Singleton single=null;  
    //靜態工廠方法   
    public static Singleton getInstance() {  
         if (single == null) {    
             single = new Singleton();  
         }    
        return single;  
    }  
}  

餓漢式單例:

//餓漢式單例類.在類初始化時,已經自行實例化   
public class Singleton {  
    private Singleton() {}  
    private static final Singleton single = new Singleton();  
    //靜態工廠方法   
    public static Singleton getInstance() {  
        return single;  
    }  
} 

線程安全:

餓漢式單例是線程安全的,可以直接用於多線程
懶漢式單例在方法調用上加上同步synchronized 即爲線程安全

發佈了40 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章