Java設計模式之單例模式

Java設計模式之單例模式

用處:

爲了避免因爲創建了多個實例造成資源的浪費,且多個實例由於多次調用容易導致結果出現錯誤,而使用單例模式能夠保證整個應用中有且只有一個實例。

特點:

  1. 單例類只能有一個實例
  2. 單例類必須自己創建自己的唯一實例
  3. 單例類必須給所有其他對象提供這一實例

實現方式:

單例定義 單例實現
不允許其他程序用new對象 私有化該類的構造函數
在該類中創建對象 通過new在本類中創建一個本類對象
對外提供一個可以讓其他程序獲取該對象的方法 定義一個公有的方法,將在該類中所創建的對象返回

代碼參考

單例模式有多種寫法,懶漢、餓漢等。
分享一個比較不錯的懶漢式寫法~


public class Singleton {

    private Singleton() {
    }

    /**
     * 單例模式懶漢式雙重校驗鎖
     * 懶漢式變種,屬於懶漢式的最好寫法,保證:延遲加載和線程安全
     */
    private static Singleton singleton;

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

引用

百度百科-java單例模式

一位小哥對Java設計模式的歸納總結

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