class Person{
private static final AtomicReference<Person> INSTANCE = new AtomicReference<>();
public static Person getInstance() {
while(true) {
Person p = INSTANCE.get();
if(p != null) {
return p;
}
p = new Person();
//预期旧值 新值
if(INSTANCE.compareAndSet(null, p)) {
return p;
}
}
}
}