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

}
posted @ 2025-05-29 23:48  逆流而下  阅读(7)  评论(0)    收藏  举报