hooyantsing's Blog

P34 单例(DoubleCheck)

字数统计: 141阅读时长: 1 min
2020/11/08

尚硅谷Java设计模式(图解+框架源码剖析)

双重检查

优点:线程安全;延迟加载;效率较高

结论:在实际开发中,推荐使用这种单例设计模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Singleton {
// 1.构造器私有化,防止外部new
private Singleton(){}

// 2.类本身内部创建对象实例
private static volatile Singleton instance;

// 3.提供一个公有的静态方法,当使用该方法时,才去创建 instance
public static Singleton getInstance(){
if(instance == null){
synchronized (Singleton.class){
if(instance == null){
instance = new Singleton();
}
}
}
return instance;
}
}
CATALOG
  1. 1. 双重检查