設計模式之 單例模式

單例模式的分爲兩種類型:餓漢模式懶漢模式

單例模式主要應用在:配置文件,工具類,線程池,緩存等。

餓漢模式:類加載時就創建對象並實例化,線程安全的。

/**
 * 單例模式:餓漢模式 線程安全的
 * <p>
 * 作用:保證整個程序中某個實例有且只有一個
 *
 */
public class Singleton {
    //1.將構造方法私有化
    private Singleton() {
    }
    //2.創建類的唯一實例
    private static Singleton instance = new Singleton();
    //3.通過方法讓調用者獲取實例
    public static Singleton getInstance() {
        return instance;
    }
}

懶漢模式:在運行時對對象實例化,線程不安全。

/*
    懶漢模式

 */
public class Singleton2 {
    //1.將構造方法私有化
    private Singleton2() {

    }
    //2.只聲明對象
    private static Singleton2 instance ;
    //3.首次調用時,就實例化對象
    public static Singleton2 getInstance() {
        if (null == instance) {
            instance = new Singleton2();
        }
        return  instance;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章