設計模式—單例模式(java)

來源:互聯網
上載者:User

標籤:.class   strong   構造   size   font   產生   iba   函數   nal   

一:懶漢式

1:  安全執行緒的雙重鎖檢查機制

public class Singleton{

   private Singleton() {}    //  私人建構函式,保證不被外界執行個體化(不考慮反射)

   private static Singlecton single = null;

    public static Singlecton getInstance()

    {   if (singleton == null)

            {

                   synchronized (Singleton.class)

                    { if (singleton == null)

                                 singleton = new Singleton();

                    }  

             }

            return singleton

     }

}

 

2:靜態內部類:安全執行緒,不用加鎖

     public class Singleton {

        private static class LazyHolder{

                private static final Singleton INSTANCE = new Singleton ();

        }

       private Singlecton() {}

       public static final Singlecton getInstance()

                    {

                              return LazyHolder.INSTSNCE;

                     }

}

這裡總結一下靜態內部類:

                            A:靜態內部類,只能訪問外部類的靜態成員。

                            B:靜態內部類可以執行個體化

                            C:靜態內部類隨著類載入而產生(在類載入的時候,靜態成員就產生了)

二:餓漢式:

       public class Singleton{

            private Singlecton() {}

             pribate static final Singlecton single = new Singleton();

             public static Singlecton getInstance()

             {

                     return single;

             }

}

 

設計模式—單例模式(java)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.