设计模式之单例模式

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() {
    }


}


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