• AtomicReferenceFieldUpdater // 域 字段
    • AtomicIntegerFieldUpdater
    • AtomicLongFieldUpdater

    :::tips 需要更改的属性必须用volatile 修饰! :::

    1. public class Test40 {
    2. public static void main(String[] args) {
    3. Student stu = new Student();
    4. AtomicReferenceFieldUpdater updater =
    5. AtomicReferenceFieldUpdater.newUpdater(Student.class, String.class, "name");
    6. System.out.println(updater.compareAndSet(stu, null, "张三"));
    7. System.out.println(stu);
    8. }
    9. }
    10. class Student {
    11. volatile String name;
    12. @Override
    13. public String toString() {
    14. return "Student{" +
    15. "name='" + name + '\'' +
    16. '}';
    17. }
    18. }