国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

整理下java六種單例模式

james / 2376人閱讀

摘要:如果明確要實(shí)現(xiàn)懶加載效果時(shí),使用第種靜態(tài)內(nèi)部類方式。如果涉及到反序列化創(chuàng)建對象時(shí),可以使用第種枚舉方式。懶漢式,線程不安全懶漢式,線程安全雙重檢查鎖,懶漢式,線程安全餓漢式,線程安全靜態(tài)內(nèi)部類,懶漢式,線程安全枚舉類,懶漢式,線程安全

可能總結(jié)的會有問題,我會一點(diǎn)點(diǎn)完善的...

結(jié)論:建議使用第 4 種餓漢方式。如果明確要實(shí)現(xiàn)懶加載效果時(shí),使用第 5 種靜態(tài)內(nèi)部類方式。如果涉及到反序列化創(chuàng)建對象時(shí),可以使用第 6 種枚舉方式。

1 懶漢式,線程不安全
public class Singleton {

    private static Singleton instance=null;
    
    public static Singleton getInstance(){
        if(instance==null){
            instance=new Singleton();
        }
        return instance;
    }
    
     private Singleton(){}
}
2 懶漢式,線程安全
public class Singleton {

    private static Singleton instance=null;
    
    public static synchronized Singleton getInstance(){
        if(instance==null){
            instance=new Singleton();
        }
        return instance;
    }
    
    private Singleton(){}
}
3 雙重檢查鎖,懶漢式,線程安全
public class Singleton {

    private volatile static Singleton instance=null;
    
    public static Singleton getInstance(){
        if(instance==null){
            synchronized(Singleton.class){
                if(instance==null){
                    instance=new Singleton();
                }
            }
        }
        return instance;
    }
    
            
    private Singleton(){}
}
4 餓漢式,線程安全
public class Singleton {

    private static Singleton instance=new Singleton();
    
    public static Singleton getInstance(){
        return instance;
    }
    
    private Singleton(){}
}
5 靜態(tài)內(nèi)部類,懶漢式,線程安全
public class Singleton {
    
    private static class SingletonHolder{
        private final static Singleton instance=new Singleton();
    }
    
    public static Singleton getInstance(){
        return SingletonHolder.instance;
    }
    
    private Singleton(){}
}
6 枚舉類,懶漢式,線程安全
public enum SingletonEnum{
    INSTANCE;
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/72146.html

相關(guān)文章

  • Java多線程基礎(chǔ)(二)——Java內(nèi)存模型

    摘要:一主存儲器與工作存儲器內(nèi)存模型分為主存儲器和工作存儲器兩種。工作存儲器每個(gè)線程各自獨(dú)立所擁有的作業(yè)區(qū),在中,存有中的部分拷貝,稱之為工作拷貝。注意線程欲退出時(shí),不會執(zhí)行工作存儲器的釋放操作。 一、主存儲器與工作存儲器 Java內(nèi)存模型(memory model)分為主存儲器(main memory)和工作存儲器(working memory)兩種。 主存儲器(main memory)...

    huhud 評論0 收藏0
  • Java設(shè)計(jì)模式單例模式單例六種實(shí)現(xiàn)

    摘要:單例模式的優(yōu)缺點(diǎn)優(yōu)點(diǎn)單例模式在內(nèi)存中只有一個(gè)實(shí)例,減少了內(nèi)存開支,尤其是頻繁的創(chuàng)建和銷毀實(shí)例。單例模式對測試不利。單例模式與單一職責(zé)原則有沖突,一個(gè)類應(yīng)該只實(shí)現(xiàn)一個(gè)邏輯,而不用關(guān)心它是否是單例的。資源源碼參考設(shè)計(jì)模式之禪原文地址:xeblog.cn/articles/16 單例模式的定義 確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。 UML類圖 showImg(ht...

    番茄西紅柿 評論0 收藏0
  • Java設(shè)計(jì)模式單例模式單例六種實(shí)現(xiàn)

    摘要:單例模式的優(yōu)缺點(diǎn)優(yōu)點(diǎn)單例模式在內(nèi)存中只有一個(gè)實(shí)例,減少了內(nèi)存開支,尤其是頻繁的創(chuàng)建和銷毀實(shí)例。單例模式對測試不利。單例模式與單一職責(zé)原則有沖突,一個(gè)類應(yīng)該只實(shí)現(xiàn)一個(gè)邏輯,而不用關(guān)心它是否是單例的。資源源碼參考設(shè)計(jì)模式之禪原文地址:xeblog.cn/articles/16 單例模式的定義 確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。 UML類圖 showImg(ht...

    番茄西紅柿 評論0 收藏0
  • Java設(shè)計(jì)模式單例模式單例六種實(shí)現(xiàn)

    摘要:單例模式的優(yōu)缺點(diǎn)優(yōu)點(diǎn)單例模式在內(nèi)存中只有一個(gè)實(shí)例,減少了內(nèi)存開支,尤其是頻繁的創(chuàng)建和銷毀實(shí)例。單例模式對測試不利。單例模式與單一職責(zé)原則有沖突,一個(gè)類應(yīng)該只實(shí)現(xiàn)一個(gè)邏輯,而不用關(guān)心它是否是單例的。資源源碼參考設(shè)計(jì)模式之禪原文地址:xeblog.cn/articles/16 單例模式的定義 確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。 UML類圖 showImg(ht...

    Caicloud 評論0 收藏0
  • 「碼個(gè)蛋」2017年200篇精選干貨集合

    摘要:讓你收獲滿滿碼個(gè)蛋從年月日推送第篇文章一年過去了已累積推文近篇文章,本文為年度精選,共計(jì)篇,按照類別整理便于讀者主題閱讀。本篇文章是今年的最后一篇技術(shù)文章,為了讓大家在家也能好好學(xué)習(xí),特此花了幾個(gè)小時(shí)整理了這些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 讓你收獲滿滿! 碼個(gè)蛋從2017年02月20...

    wangtdgoodluck 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<