設計模式之單例模式

package singletonbao;


public class SingDemo {

    public static void main(String[] args) {

        /**
         * 餓漢式和懶漢式的區別
         *1。在多線程訪問時,餓漢式不會創建對個對象,而懶漢式會創建
         * 2。如果考慮線程安全問題  餓漢式
         * 3.如果不考慮線程安全問題 懶漢式

         */

        //單例模式  餓漢式
//        Singleton s1=Singleton.getInstance();
//        System.out.println(s1);
//        System.out.println(Singleton.getInstance());

        Singleton s1 = Singleton.instance;
        System.out.println(s1);

    }

}

//餓漢式

/**
         class Singleton{

         private static Singleton instance=new Singleton();

         private Singleton(){ }

         public static Singleton getInstance(){

        return instance;
         }

}
 */

//方式一 懶漢式


        /* class Singleton{

          private static Singleton instance;

          private Singleton(){ }

          public static Singleton getInstance(){

          if ( instance ==null){
         instance=new Singleton();
         }
          return instance;
          }

          }
*/

//方式三 簡單
class Singleton {

    public static Singleton instance = new Singleton();

    private Singleton() {
    }


}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章