报告以下类型的字段: 其类型为 static final。 因为在一个类的所有实例中,只需要一个原子字段更新程序来更新 volatile 字段,所以它几乎总是 static

使更新程序为 final,JVM 就能优化访问以提高性能。

示例:


  class Main {
    private volatile int id;
    private AtomicIntegerFieldUpdater<Main> idFieldUpdater = AtomicIntegerFieldUpdater.newUpdater(Main.class, "id");
  }

在应用快速修复后:


  class Main {
    private volatile int id;
    private static final AtomicIntegerFieldUpdater<Main> idFieldUpdater = AtomicIntegerFieldUpdater.newUpdater(Main.class, "id");
  }