美文网首页
单例模式

单例模式

作者: 第六象限 | 来源:发表于2018-08-10 21:54 被阅读0次

    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;
            }
    }
    

    相关文章

      网友评论

          本文标题:单例模式

          本文链接:https://www.haomeiwen.com/subject/awzlbftx.html