Singleton設計模式,需要雙重檢查嗎?
Singleton設計模式,雙重檢查樣列如下:
簡單樣列1:
public class Singleton {
private final static Singleton instance=new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}
雙重檢查很通用,但是它引以為傲的是性能的優化(在getInstance被很多很多次調用的情況下).
呵呵,我就直接說結論了:在性能上最優的是 簡單樣列1 [當然也是在getInstance被很多很多次調用的情況下].
簡單樣列1是非惰性加載,所以有人要反駁說 如果我不用到Singleton 的實例豈不是白占了內存.
所以你選擇 簡單樣列1 還是 雙重檢查 是要根據你的實際情況的,如果在程序中對單列類引用的頻率是很高的,那么應該選擇 簡單樣列1,反之 雙重檢查.
posted on 2010-03-03 21:13 adapterofcoms 閱讀(365) 評論(1) 編輯 收藏 所屬分類: java bbs