設計模式---單例模式

1、單例模式:解決一個類在內存中只有一個對象問題。主要有餓漢式和懶漢式兩種形式:

餓漢式:類在方法區加載時就創建實例初始化,線程安全,但是每次初始化會增加額外的開銷

class Single{
	
	private static Single s = new Single();
	
	private Single(){}
	
	public static Single getInstance(){
		return s;
	}

懶漢式:類在方法區加載時沒有常見對象實例,只有當需要時才初始化對象;但是這樣是線程不安全的,需要同步處理

class Single {
	
	private static Single s = null;

	private Single(){}

	public static Single getInstance() {
		if (s == null) {
			synchronized (Single.class) {
				if (s == null) {
					s = new Single();
				}
			}
		}
		return s;
	}
}



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