在web开发中,如何保证对象只被创建一次之单例应用系列?

单例就是该类只能返回一个实例。

单例所具备的特点:

     1.私有化的构造函数

     2.私有的静态的全局变量

     3.公有的静态的方法

单例分为懒汉式、饿汉式和双层锁式

饿汉式:

public class Singleton1 {

      private Singleton1() {};

      private static Singleton1 single = newSingleton1();

      public static Singleton1 getInstance() {

扫描二维码关注公众号,回复: 11055151 查看本文章

          return single;

     }

 }

懒汉式:

public class Singleton2 {

      private Singleton2() {}

      private static Singleton2 single=null;

      public tatic Singleton2 getInstance() {

           if (single == null) { 

              single = new Singleton2();

          } 

         return single;

     }

 }

线程安全:

public class Singleton3 {

        private Singleton3() {}

        private static Singleton3 single ;

        public static Singleton3 getInstance() {

              if(null== single){

                     synchronized(single ){

                            if(null== single){

                                   single = new Singleton3();

                            }

                     }

              }

              returnsingle;

         }

}

参考:

通过双重判断来保证单列设计模式在多线程中的安全性,

并且它在性能方面提高了很多。

发布了28 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u013045746/article/details/19110483