<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    DANCE WITH JAVA

    開(kāi)發(fā)出高質(zhì)量的系統(tǒng)

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    好友之家

    最新評(píng)論

    終于可以在Java中使用lazy loading的單態(tài)了

    在我的這篇文章http://www.tkk7.com/dreamstone/archive/2006/11/04/79026.html中寫(xiě)了為什么不要使用Java的lazy loading ,即使是double-check也解決不了問(wèn)題,但是有人解決了這個(gè)問(wèn)題。
    佩服啊。實(shí)在是巧妙,如此簡(jiǎn)單
    注意:在多個(gè)虛擬機(jī)的情況下這個(gè)方法還是不能用的,但是一般情況下是可以的。
    實(shí)現(xiàn)方式:

    public   class  Singleton  {   
      
      
    static   class  SingletonHolder  {   
        
    static  Singleton instance  =   new  Singleton();   
      }
       
      
      
    public   static  Singleton getInstance()  {   
        
    return  SingletonHolder.instance;   
      }
       
      
    }
      

    這個(gè)寫(xiě)法的發(fā)明者是Google公司的Bob lee。
    他還寫(xiě)了個(gè)輕量級(jí)IoC容器,據(jù)說(shuō)不要配制文件,性能比spring快100倍。感覺(jué)100倍有些夸張,不過(guò)可以看看。

    posted on 2007-02-27 20:10 dreamstone 閱讀(6993) 評(píng)論(14)  編輯  收藏 所屬分類: 設(shè)計(jì)模式

    評(píng)論

    # re: 終于可以再Java中使用lazy loading了。[未登錄](méi) 2007-02-27 20:49 cc

    多此一舉,Spring解決的問(wèn)題不是性能問(wèn)題!  回復(fù)  更多評(píng)論   

    # re: 終于可以再Java中使用lazy loading了。 2007-02-27 21:15 dreamstone

    這么說(shuō)就無(wú)語(yǔ)了。
    首先什么叫多此一舉,哪些東西不是多此一舉?
    雖然有可能他的實(shí)現(xiàn)不能商業(yè)應(yīng)用,但既然寫(xiě)了這個(gè)東西就“有可能”有他存在的價(jià)值。

    另外我還沒(méi)看他寫(xiě)的東西,不能說(shuō)他好或者壞,但個(gè)人比較反感根本沒(méi)有了解就發(fā)表誤導(dǎo)性言論的做法。

    最后webwork在新的版本已經(jīng)加入了他寫(xiě)的IOC容器。


      回復(fù)  更多評(píng)論   

    # re: 終于可以再Java中使用lazy loading了。[未登錄](méi) 2007-02-27 22:00 jini

    有時(shí)間找他寫(xiě)的IoC來(lái)研究研究,學(xué)習(xí)學(xué)習(xí)  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading了。[未登錄](méi) 2007-02-28 01:04 Dennis

    這種以 Initialization on Demand Holder (IODH) 的 lazy loading 方式只能, 也只可以應(yīng)用在
    Classloader scope 的 static scope singleton 上

    對(duì)特定存取區(qū)域,或 "不確定" Classloader 情況下
    只能用回 synchronized 方法

    (根據(jù) Bob lee 本人的 blog, 引述 Effective Java 一書(shū)的說(shuō)明)

    另, 這方法 "不是" Bob lee 本人發(fā)明的.
    他也只是讀回來(lái)的, 他在 blog 中也有提到  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading了。[未登錄](méi) 2007-02-28 09:46 dreamstone

    to Dennis:
    謝謝提醒,另問(wèn)一下什么情況下這個(gè)方式會(huì)失效,能不能舉個(gè)例子說(shuō)明一下?
      回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading了。 2007-02-28 11:10 BeanSoft

    支持一下, 不錯(cuò)!  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading了。 2007-02-28 12:10 dreamstone

    嗯,找了一下Effective Java,在Item 48 找到了,果然不是Bob lee發(fā)明的,不過(guò)這種寫(xiě)法還是值得借鑒。另外,對(duì)與Effective Java中解釋的話有些不了解,
    誰(shuí)能給解釋一下:
    這句:The only shortcoming of the idiom is that it does not work for instance fields ,only for static instance fields
    雖然字面意思知到,但是還是不明白他講的實(shí)際問(wèn)題。  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading了。 2007-02-28 12:11 dreamstone

    另外這里關(guān)于這個(gè)問(wèn)題還有一些討論,
    http://weblogs.java.net/blog/kirillcool/archive/2005/08/how_single_is_y.html

    而作者的做法居然是用程序?qū)懘a,臨時(shí)編繹,也算夠走火入魔的。不過(guò)下邊的討論還是不錯(cuò)的。  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading了。[未登錄](méi) 2007-02-28 13:27 dennis

    這樣的寫(xiě)法不是新鮮主意了,在讀《設(shè)計(jì)模式精解》關(guān)于singleton那章時(shí)特意查過(guò)。  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading了。 2007-02-28 14:18 dreamstone

    to dennis:
    建議你如果回文章的話盡量提供一下支持你自己觀點(diǎn)的資料。
    不知道你說(shuō)的“ 對(duì)特定存取區(qū)域,或 "不確定" Classloader 情況下”是什么情況

    不然的話看文章的人懂得懂了,不懂的還不懂。

    謝謝。如果我找到會(huì)補(bǔ)上。  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading的單態(tài)了[未登錄](méi) 2007-02-28 15:54 dennis

    @dreamstone
    sorry,我并沒(méi)有別的意思。
    我是在讀《設(shè)計(jì)模式精解》時(shí)那章singleton時(shí)提到double-check也無(wú)法解決多線程實(shí)現(xiàn)singleton模式的問(wèn)題時(shí),特意google了下代碼,這是我收藏夾里的文章:http://www.j2medev.com/Article/Class3/pattern/200511/1004.html  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading的單態(tài)了 2007-02-28 17:56 dreamstone

    找到了什么情況下會(huì)有多個(gè)ClassLoader了,這篇文章中有些內(nèi)容講了為什么會(huì)有多個(gè)ClassLoader。
    http://www.tkk7.com/dreamstone/archive/2007/02/28/101183.html

    另to dennis:
    謝謝提供資源,希望能提出更多問(wèn)題,多交流。。  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading的單態(tài)了 2014-06-04 15:50 kizz

    純扯淡  回復(fù)  更多評(píng)論   

    # re: 終于可以在Java中使用lazy loading的單態(tài)了 2016-11-11 14:29 NewSea

    學(xué)習(xí)。  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: aa级毛片毛片免费观看久| 在线观看日本亚洲一区| 亚洲精品tv久久久久久久久 | 亚洲AV成人精品日韩一区| 亚洲色无码专区一区| 亚洲一区二区无码偷拍| 亚洲精品无码高潮喷水A片软| 亚洲国产欧美国产综合一区 | 久久久无码精品亚洲日韩蜜桃| 国产A在亚洲线播放| 久久夜色精品国产亚洲AV动态图| 久久久久亚洲av无码专区蜜芽| 亚洲国产综合专区在线电影| 91亚洲va在线天线va天堂va国产 | 啊v在线免费观看| 久久精品国产精品亚洲下载| 亚洲伊人久久精品影院| 久久精品国产亚洲AV麻豆~| 97久久精品亚洲中文字幕无码| 亚洲毛片基地日韩毛片基地| 亚洲色成人网站WWW永久四虎 | 亚洲国产综合第一精品小说| 亚洲jjzzjjzz在线播放| 亚洲精品av无码喷奶水糖心| 亚洲AV日韩AV一区二区三曲| 人妻巨大乳hd免费看| 免费视频一区二区| 中文字幕av无码无卡免费| 国产婷婷高清在线观看免费| 亚洲精品成人片在线观看| 亚洲av伊人久久综合密臀性色 | 亚洲色偷偷偷网站色偷一区| 亚洲日韩一区二区一无码| 麻豆69堂免费视频| 久久久久久国产精品免费免费男同 | 激情吃奶吻胸免费视频xxxx| 国产成人无码区免费内射一片色欲| 久久免费国产视频| 毛片免费观看网站| 中文字幕亚洲日韩无线码| 亚洲精品在线视频观看|