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

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

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

    Swing


    天行健 君子以自強不息

    posts - 69, comments - 215, trackbacks - 0, articles - 16
       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    設計模式:創建模式之Singleton(單態)

    Posted on 2007-05-30 10:11 zht 閱讀(317) 評論(0)  編輯  收藏 所屬分類: 設計模式
    Singleton應該說是平時用的最多的一種模式之一
    Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
    一般Singleton模式通常有幾種形式:

    public class Singleton {

      private Singleton(){}

      //在自己內部定義自己一個實例,是不是很奇怪?
      //注意這是private 只供內部調用

      private static Singleton instance = new Singleton();

      //這里提供了一個供外部訪問本class的靜態方法,可以直接訪問  
      public static Singleton getInstance() {
        return instance;   
       }
    //當程序第一次調用getInstance的時候初始化Singleton 類 同時初始化static字段 產生唯一的對象實例
    }

     

    第二種形式:

    public class Singleton {

      private static Singleton instance = null;

      public static synchronized Singleton getInstance() {

      //這個方法比上面有所改進,不用每次都進行生成對象,只是第一次     
      //使用時生成實例,提高了效率!
      if (instance==null)
        instance=new Singleton();
      return instance;   }

    }

     

    使用Singleton.getInstance()可以訪問單態類。

    上面第二中形式是lazy initialization,也就是說第一次調用時初始Singleton,以后就不用再生成了。

    注意到lazy initialization形式中的synchronized,這個synchronized很重要,如果沒有synchronized,那么使用getInstance()是有可能得到多個Singleton實例。

    一般認為第一種形式要更加安全些。

    主站蜘蛛池模板: 8090在线观看免费观看| 两性色午夜视频免费播放| 91成人免费观看网站| 亚洲国产精品一区第二页 | 免费在线观看黄网| 亚洲AV无码专区国产乱码不卡| 2020久久精品国产免费| 国产精品高清视亚洲一区二区| 91免费精品国自产拍在线不卡| 亚洲国产精品日韩在线观看| 成年在线观看网站免费| 久久亚洲精品国产精品婷婷| 卡一卡二卡三在线入口免费| 亚洲精品伦理熟女国产一区二区| 免费无码看av的网站| 婷婷亚洲综合五月天小说在线| 四虎1515hm免费国产| 七次郎成人免费线路视频| 亚洲人色婷婷成人网站在线观看| 国产成人精品无码免费看| 亚洲成人福利网站| 午夜免费福利网站| 成年大片免费高清在线看黄| 亚洲精品你懂的在线观看| 一区二区免费视频| 456亚洲人成影院在线观| 免费日本黄色网址| 国内精品免费久久影院| 亚洲色图.com| 日本a级片免费看| 二区久久国产乱子伦免费精品| 亚洲激情电影在线| 成人性生交视频免费观看| 男女作爱免费网站| 水蜜桃亚洲一二三四在线| 在线观看日本免费a∨视频| 猫咪www免费人成网站| 亚洲AV无码专区电影在线观看| 青娱乐免费在线视频| 老司机午夜性生免费福利| 久久精品亚洲综合|