单例模式

volatile变量双重判空

class Singleton{
    private Singleton(){}
    private volatile static Singleton instance;
    public static Singleton getInstance(){
        if(instance==null){
            synchronized(Singleton.class){
                if(instance==null){
                    instance=new Singleton();
                }
            }
        }
        return instance;
    }

}

静态内部类

 public class Singleton{
      private Singleton(){}//私有构造方法,避免外部创建实例
      private static class SingletonHolder
         {
          public static Singleton instance= new Singleton();
         }
      public static Singleton getInstance()
         {
          return SingletonHolder.instance;
        }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例设计模式所解决的问题就是:保证类的对象在内存中唯一。 举例: A、B类都想要操作配置文件信息Config.ja...
    飞天_shine阅读 257评论 0 0
  • 单例模式(SingletonPattern)一般被认为是最简单、最易理解的设计模式,也因为它的简洁易懂,是项目中最...
    成热了阅读 4,325评论 4 34
  • 1 场景问题# 1.1 读取配置文件的内容## 考虑这样一个应用,读取配置文件的内容。 很多应用项目,都有与应用相...
    七寸知架构阅读 6,911评论 12 68
  • 单例模式(Singleton Pattern)是 编程语言中最简单的设计模式之一。这种类型的设计模式属于创建型模式...
    Hi夜城阅读 470评论 1 10
  • 我是叫作做吴魏,与名字对应我非常的“无所畏惧”,虽然只是单方面,这方面大家没必要太过了解,因为我不想让你们知道我的...
    prince是me阅读 255评论 1 0