單例模式的三中設計方法

餓漢式單例模式:(synchronized 同步)

public class Single{
 
 private static Single single =new Single();
 private Single(){}
public static Single getSingle(){
    return single;
 }
}

懶漢式單例設計模式:

public class Single{
 
 private static Single single = null;
 private Single(){}
 synchronized public static Single getSingle(){
  if(single==null){
    single = new Single();
  }
  return single;
 }
}

餓漢式 單例模式適應於java而不適用與C++,因爲靜態初始化在C++中沒有順序。因而變量single 的初始化與對應類Single的加載沒有保證。可能會出問題。但從時間和速度上分析,餓漢式更快,但性能不是很好,因爲餓漢式在自己被加載時已經實例化了。

 

登記式單例模式(可以實現單例的繼承)

 

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