次の型のうち: static final でないものを報告します。 1 つのクラスのすべてのインスタンスで volatile フィールドを更新するのに必要なアトミックフィールドアップデーターは 1 つだけなので、これらの型はほとんどの場合に 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");
  }