直播平臺開發,直播各個分類單例設計展示

zhibo系統開發發表於2022-06-21

直播平臺開發,直播各個分類單例設計展示

一、 餓漢式實現

立即載入就是使用類的時候已經將物件建立完畢(不管以後會不 使用到該例項化物件,先建立了再說。很著急的樣子,故又被稱為 “餓漢模式”),常見的實現辦法就是直接new例項化。

public class Singleton {
    /**
     * 將自身例項化物件設定為一個屬性,用static、final修飾
     */
    private static final Singleton INSTANCE = new Singleton();
    /**
     * 構造方法私有化
     */
    private Singleton(){}
    /**
     * 靜態方法返回例項
     * @return
     */
    public static Singleton getInstance()
    {
        return INSTANCE;
    }
}


二、懶漢式實現

延遲載入就是呼叫get()方法時例項才被建立(先不急著例項化出對

象,等要用的時候才給你建立出來。不著急,故又稱為“懶漢模

式”),常見的實現方法就是在get方法中進行new例項化。


注意: 以下程式碼在多執行緒環境中是完全錯誤的,根本不能保證單例的狀

public class Singleton2 {
    private static Singleton2 instance;
    private Singleton2(){}
    public static Singleton2 getInstance()
    {
        if(instance == null){
            instance = new Singleton2();
        }
        return instance;
    }
}


內部類實現單例

這種方式沒有執行緒問題,只要不呼叫getInstance()方法,就不會使用內部類,內部類一旦被使用只會被初始化一次,以後一直用的就是靜態常量 INSTANCE 了。

public class Singleton3 {
    private Singleton3(){}
    public static Singleton3 getInstance()
    {
        return SingletonHodler.INSTANCE;
    }
    /**
     * 靜態內部類
     */
    private static class SingletonHodler
    {
        private static final Singleton3 INSTANCE = new Singleton3();
    }
}


以上就是直播平臺開發,直播各個分類單例設計展示, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2901888/,如需轉載,請註明出處,否則將追究法律責任。

相關文章