欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

java單例模式的4種實現(xiàn)方法-創(chuàng)新互聯(lián)

單例模式的定義:
  • 單例模式,是一種常用的軟件設(shè)計模式。在它的核心結(jié)構(gòu)中只包含一個被稱為單例的特殊類。通過單例模式可以保證系統(tǒng)中,應(yīng)用該模式的類一個類只有一個實例。即一個類只有一個對象實例
單例模式的分類:
  • 立即加載/“餓漢模式”
    • 立即加載就是在使用類的時候已經(jīng)將對象創(chuàng)建完畢
    • 立即加載在中文語義上有“著急”,“急迫”的含義,因此又稱為“餓漢模式”
    • 普通的立即加載:
      public class MyObject{
      private static MyObject mb = new MyObject();
      private MyObject(){}
      public static MyObject getInstance() {
         return mb;
      }
      }
  • 延遲加載/“懶漢模式”
    • 延遲加載是在調(diào)用getInstance()方法獲取實例對象時才創(chuàng)建對象
    • 延遲加載在中文語義上有“緩慢”,“不急迫”的含義,因此又稱為“懶漢模式”
    • 普通的延遲加載:
      public class MyObject{
      private static MyObject mb;
      private MyObject(){}
      public static MyObject getInstance() {
         if (mb == null)
           mb = new MyObject();
         return mb;
      }
      }
延遲加載/“懶漢模式”的缺點
  • 雖然上述的代碼可以實現(xiàn)單例設(shè)計模式,但是在多線程環(huán)境中,前面的延遲加載的代碼是完全錯誤的,根本不能實現(xiàn)保持單例的狀態(tài)。因為多線程環(huán)境中,會存在多個線程調(diào)用getInstance()方法的情況,由于線程安全的問題就會導(dǎo)致創(chuàng)建出多個實例
單例模式的幾種實現(xiàn)方法

1.使用DCL雙重檢查鎖機制實現(xiàn)

成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元蒙自做網(wǎng)站,已為上家服務(wù),為蒙自各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
  • 雖然直接在方法上使用synchronized上鎖也能實現(xiàn)線程安全的單例,但是性能非常差,使用DCL機制后不僅線程安全還能使性能有所提升
  • 屬于延遲加載
  • 代碼:
    public class MyObject{
    private static MyObject mb;
    private MyObject(){}
    public static MyObject getInstance() {
       if (mb == null) {
         synchronized (MyObject.class) {
           if (mb == null) {
             mb = new MyObject();
           }
         }
       }  
       return mb;
    }
    }

    2.使用靜態(tài)內(nèi)置類實現(xiàn)單例模式

  • 靜態(tài)內(nèi)部類和靜態(tài)屬性屬性會在類加載是時候執(zhí)行,因此使用類的使用就將實例對象創(chuàng)建好了,屬于立即加載
  • 也因為只在類加載的時候加載一次并將對象創(chuàng)建完畢,因此線程是安全的
  • 代碼:
    public class MyObject{
    //內(nèi)部類方式
    private static class MyObjectHandler {
       private static MyObject mb =  new MyObject();
    }
    private MyObject(){}
    public static MyObject getInstance() {
       return MyObjectHandler.mb;
    }
    }

    3.使用static代碼塊實現(xiàn)單例模式

  • 和使用靜態(tài)內(nèi)部類的方式一樣,也是在類加載的時候?qū)嵗龑ο髣?chuàng)建好了,所以線程也是安全的
  • 代碼:
    public class MyObject{
       private static MyObject mb = null;
       private MyObject(){}
       static {
         mb = new MyObject();
       }
       public static MyObject getInstance() {
         return mb;
       }
    }

    4.使用enum枚舉數(shù)據(jù)類型實現(xiàn)單例模式

  • 在使用枚舉類的時候構(gòu)造方法會被自動調(diào)用,而且通過反射也無法獲取枚舉中的屬性和方法因此線程也是安全的
  • 代碼:
public enum MyEnum{
   connectionFactory;
   private Connection connection;
   //枚舉類的構(gòu)造方法默認是private的,所以訪問限定符private可以省略不寫
   MyEnum {
     MysqlDataSource dataSource = new MysqlDataSource();
     dataSource.setURL();
     dataSource.setUser();
     dataSource.setPassword();
     connection = dataSource.getConnection();
   }
   public Connection getInstance() {
     return connection;
   }
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前題目:java單例模式的4種實現(xiàn)方法-創(chuàng)新互聯(lián)
鏈接地址:http://aaarwkj.com/article32/hccsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站搜索引擎優(yōu)化、服務(wù)器托管App設(shè)計、靜態(tài)網(wǎng)站、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
亚洲欧洲av男人的天堂| 91性感视频在线播放| 国产一级二级三级黄色| 久久精品一区二区三区不卡| 国产av一区二区三区高潮蜜| 国产女主播在线观看视频| 日本国产美女精品一区二区| 日韩欧美高清一区二区| 久草视频免费福利资源站| 人妻在线中文字幕一区| 一区二区三区av夏目彩春| 日本精品视频免费网| a一级成人插少妇的逼| 亚洲美女高潮久久久久久久久| 亚洲麻豆精品午夜免费| 欧美一区二区三区午夜| 在线观看日韩三级av| 亚洲1区2区中文字幕| 手机免费在线观看国产精品| 一区二区三区免费在线观看视频| 亚洲综合精品久久久一区| 久久精品国产亚洲av麻豆她| 成人污视频网站在线观看| 国产极品美女在线观看网站| 国产男女猛烈无遮挡网站| 国产大片在线观看一区二区| 亚洲毛片一区二区在线| 欧美成人精品欧美一级乱| 国产熟女碰碰人人a久久| 岛国大片日韩在线观看| 美女张开腿让男人插进去| 男人自拍天堂在线视频| 天堂8在线最新版av| 成人黄色免费在线网站| 国产在线视频不卡福利片| 亚洲中文字幕一区乱码| 中文字幕伦理一区二区| 亚洲婷婷综合精品五月天| 亚洲人色中文字幕天堂| 偷拍视频一区二区三区| 日本一区二区不卡二区|