JAVA学习笔记(单利模式)

单利模式只生成一个实例,减少系统性能开销,生成一个单利对象后,永久驻留内存
1.饿汉式

public class SingletonClass {
    private static SingletonClass instanceClass = new SingletonClass();
    private SingletonClass() {  
    }
    public static SingletonClass shareInstance() {
        return instanceClass;
    }
}

2.懒汉式

public class SingletonClass {
    
    private static SingletonClass instanceClass = null;
    private SingletonClass() {
    }
        //方法一
    public static synchronized SingletonClass shareInstance() {
        if (instanceClass == null) {
            instanceClass = new SingletonClass();
        }
        return instanceClass;
    }
        //方法二
     public static SingletonClass shareInstance() {
          if (instanceClass == null) {
                 synchronized(SingletonClass.class){
                      if (instanceClass == null) {
                             instanceClass = new SingletonClass();
                       }
                  }
          }
          return instanceClass;
     }
}

区别:
饿汉式编译之后在内存中就存在,线程安全
懒汉式延时对象创建,非线程安全

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。