04.单例-懒汉式 - 双重校验
public class Car {
private Car(){}
//volatile 保证变量可见性,屏蔽指令重排序
private volatile static Car instance;
// 获取单例对象的静态方法
public static Car getInstance(){
//第一次判断如果 instance 不为null, 不进入抢锁阶段,直接返回实例
if (instance==null){
synchronized (Car.class){
//第二次判断,抢到锁之后再次进行判断
if (instance==null){
instance =new Car();
}
}
}
return instance;
}
}

浙公网安备 33010602011771号