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

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

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

    java學(xué)習(xí)

    java學(xué)習(xí)

     

    單例模式

    單態(tài)定義: Singleton模式主要作用是保證在Java應(yīng)用程序中,一個(gè)類Class只有一個(gè)實(shí)例存在。
    在很多操作中,比如建立目錄 數(shù)據(jù)庫(kù)連接都需要這樣的單線程操作。
    還有, singleton能夠被狀態(tài)化; 這樣,多個(gè)單態(tài)類在一起就可以作為一個(gè)狀態(tài)倉(cāng)庫(kù)一樣向外提供服務(wù),比如,你要論壇中的帖子計(jì)數(shù)器,每次瀏覽一次需要計(jì)數(shù),單態(tài)類能否保持住這個(gè)計(jì)數(shù),并且能synchronize的安全自動(dòng)加1,如果你要把這個(gè)數(shù)字永久保存到數(shù)據(jù)庫(kù),你可以在不修改單態(tài)接口的情況下方便的做到。
    另外方面,Singleton也能夠被無狀態(tài)化。提供工具性質(zhì)的功能, Singleton模式就為我們提供了這樣實(shí)現(xiàn)的可能。使用Singleton的好處還在于可以節(jié)省內(nèi)存,因?yàn)樗拗屏藢?shí)例的個(gè)數(shù),有利于Java垃圾回收(garbage collection)。我們常常看到工廠模式中類裝入器(class loader)中也用Singleton模式實(shí)現(xiàn)的,因?yàn)楸谎b入的類實(shí)際也屬于資源。
    public class Singleton {
    private Singleton(){}
    //在自己內(nèi)部定義自己一個(gè)實(shí)例,是不是很奇怪? //注意這是private 只供內(nèi)部調(diào)用
    private static Singleton instance = new Singleton();
    //這里提供了一個(gè)供外部訪問本class的靜態(tài)方法,可以直接訪問
    public static Singleton getInstance() {
     return instance;
     }
     }
    第二種形式:
    public class Singleton {
    private Singleton(){}
    private static Singleton instance = null;
     public static synchronized Singleton getInstance() {
     //這個(gè)方法比上面有所改進(jìn),不用每次都進(jìn)行生成對(duì)象,只是第一次 //使用時(shí)生成實(shí)例,提高了效率!
     if (instance==null)
     instance=new Singleton();
     return instance;
     }
    }
    使用Singleton.getInstance()可以訪問單態(tài)類。
    上面第二中形式是lazy initialization,也就是說第一次調(diào)用時(shí)初始Singleton,以后就不用再生成了。
    注意到lazy initialization形式中的synchronized,這個(gè)synchronized很重要,如果沒有synchronized,那么使用getInstance()是有可能得到多個(gè)Singleton
    實(shí)例。
    一般認(rèn)為第一種形式要更加安全些。

    posted on 2013-03-20 16:10 楊軍威 閱讀(172) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲AV成人片无码网站| 亚洲一区二区三区写真| 一区在线免费观看| 可以免费观看一级毛片黄a| 丰满亚洲大尺度无码无码专线| 野花高清在线观看免费完整版中文 | 亚洲三级高清免费| 免费在线观看的网站| 亚洲综合色婷婷在线观看| 日本特黄特黄刺激大片免费| 2019中文字幕免费电影在线播放| 亚洲成熟xxxxx电影| 8x8×在线永久免费视频| 亚洲天堂中文字幕在线观看| 午夜国产精品免费观看| 亚洲AV无码XXX麻豆艾秋| 亚洲成人影院在线观看| 亚洲校园春色另类激情| 免费的涩涩视频在线播放| 亚洲国产第一页www| 曰曰鲁夜夜免费播放视频| 亚洲狠狠成人综合网| 国产精品久免费的黄网站| 永久免费观看黄网站| 日本成年免费网站| 亚洲人av高清无码| 国产午夜亚洲精品理论片不卡| 国产精品网站在线观看免费传媒| 全黄a免费一级毛片人人爱| 久久免费视频一区| 亚洲人成激情在线播放| 久久国产色AV免费观看| 亚洲日韩一区精品射精| 亚洲高清无码在线观看| 99热这里只有精品6免费| 亚洲综合色一区二区三区| 丝袜熟女国偷自产中文字幕亚洲| 91av在线免费视频| 国产亚洲综合久久| 久久精品a亚洲国产v高清不卡| 国产无遮挡又黄又爽免费视频|