Java[設計模式]之美——單例模式

單例對象(Singleton)是一種常用的設計模式。在Java應用中,單例對象能保證在一個JVM中,該對象只有一個實例存在,並通過這個唯一實例來向系統提供實例行爲。這樣的模式有幾個好處:

1、某些類創建比較頻繁,對於一些大型的對象,這是一筆很大的系統開銷。

2、省去了new操作符,降低了系統內存的使用頻率,減輕GC壓力。

3、有些類如交易所的核心交易引擎,控制着交易流程,如果該類可以創建多個的話,系統完全亂了。應用場合是系統需要唯一該類的實例,比如說資源管理器等。

單例模式類圖:

       

下面是示例代碼:

public class Singleton {

	// none-lazy load
	private static Singleton singleton = new Singleton();
	private Singleton(){
	}
	
	public static Singleton getSingletonInstance(){
		return singleton;
	}
	
	// lazy load
	/*private static Singleton singleton = null;
    private Singleton() {
    }

    public static Singleton getInstance() {
        if (singleton == null) {
            synchronized (Singleton.class) {
                if (singleton == null) {
                    singleton = new Singleton();
                }
            }
        }
        return singleton;
    }*/
}


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