单例模式

来源:互联网 发布:手机页游刷元宝软件 编辑:程序博客网 时间:2024/04/30 02:33

单例模式

 

单例模式:确保一个类只有一个实例,并提供一个全局访问点

延迟加载

public class Singleton{

         private static Singleton singleton;

         private Singleton(){

         }

         public static synchronized Singleton getInstance(){

               if(singleton == null){

                   singleton = new Singleton();

               }

               return singleton;

         }

}

 

没有延迟加载

 

public class Singleton{

         private static Singleton singleton = new Singleton();

         private Singleton(){

         }

         public static  Singleton getInstance(){

              return singleton;

         }

}

 

 

双重检查加锁

 

public class Singleton{

         private volatile static Singleton singleton;

         private Singleton(){

         }

         public static Singleton getInstance(){

              if(singleton == null){

                  synchronized(Singleton.class){

                      if(singleton == null){

                         singleton = new Singleton();

                      }

                  }

              }

              return singleton;

         }

}

 

 

 

原创粉丝点击