AtomicReferenceFieldUpdater
保证对对象属性的更新具有原子性
@Slf4j
public class Test22 {
public static void main(String[] args) {
Student student = new Student();
AtomicReferenceFieldUpdater<Student, String> updater = AtomicReferenceFieldUpdater
.newUpdater(Student.class, String.class, "name");
//比较并交换
boolean res = updater.compareAndSet(student, null, "aa");
log.info("res={}", res);
log.info("student={}", student);
}
}
class Student {
volatile String name;
@Override
public String toString() {
return "name = "+this.name;
}
}