单例模式
单例模式是指设计一个只能构造一个对象的类。简单来说就是在一个进程运行过程中只可以存在一个该类的对象。
单例模式的对象获得设计方式
public class Singleton{
private volatile static Singleton singleton;
private Singleton(){}
public static Singleton getSingleton(){
if(singleton == null){
synchronized(Singleton.class){
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}
对于以上代码,有人可能会有以下疑问:
- 为什么要加锁
- 为什么要两层if判断