源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java单例模式4种使用方式分享

  • 时间:2022-04-24 22:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java单例模式4种使用方式分享
1、Java Concurrency In Practice的List
[u]复制代码[/u] 代码如下:
public class Singleton {      private static class SingletonHolder {          public static Singleton resource = new Singleton();      }      public static Singleton getResource() {          return  SingletonHolder.resource ;      }      private Singleton(){      }  }
2、effective Java
[u]复制代码[/u] 代码如下:
public class Singleton {      public static final Singleton INSTANCE = new Singleton();      private Singleton(){}      public void method(){          //...      }      public static void main(String[] a){          //调用方法。          Singleton.INSTANCE.method();      }  }
3、利用枚举巧妙创建单实例
[u]复制代码[/u] 代码如下:
/**  * 利用枚举巧妙创建单实例  */  public enum Singleton {      INSTANCE;      public void method(){          //...      }      public static void main(String[] a){          //调用方法。          Singleton.INSTANCE.method();      }  }
4、双重锁
[u]复制代码[/u] 代码如下:
public class Singleton {      private static volatile Singleton instance = null;      /**      * 防止其他人new对象      */      private Singleton(){          System.out.println("init");      }      public static  Singleton getInstance(){          if(instance == null){              synchronized(Singleton.class){                  if(instance == null){                      instance = new Singleton();                  }              }          }          return instance;      }  }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部