單例模式singleton
建構函式定義為private的作用是阻止類在外部被例項化。
定義顯式建構函式則預設的建構函式會失效。
保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。(定義乙個靜態方法)
package singleton.pattern;
public class singleton
/*** 單執行緒下的單例
* * @return
*/public static singleton getinstance()
return instance;
} /**
* 執行緒鎖
*/private static object lock = new object();
/*** 多執行緒單例,要加鎖
* * @return
*/public static singleton getinstance1()
return instance;
} }/**
* 多執行緒單例,雙重鎖定,避免了getinstance1()方法中進入方法都判斷加鎖的弊端
* * @return
*/public static singleton getinstance2()
}} return instance; }
private final static singleton instance1=new singleton();
/*** 獲取已經例項化的instance1
* @return
*/public static singleton getinstance3()
}
設計模式學習筆記 九 Singleton模式
設計模式 一書對singleton模式是這樣描述的 保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點。這個模式比較簡單,下面給出乙個例子 public class singleton public static singleton getinstance 這個程式在單執行緒下執行不會有問題,但...
設計模式學習筆記 九 Singleton模式
設計模式 一書對singleton模式是這樣描述的 保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點。這個模式比較簡單,下面給出乙個例子 public class singleton public static singleton getinstance 這個程式在單執行緒下執行不會有問題,但...
設計模式筆記 Singleton 單例模式
單例模式大概是最直觀的一種設計模式了,儘管直觀卻不簡單。數學與邏輯學中,singleton定義為 有且僅有乙個元素的集合 單例模式可以如下定義 乙個類有且僅有乙個例項,並且自行例項化向整個系統提供 我比較喜歡design patterns一書中的描述 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性...