Inspectopedia Help

Inconsistent 'AtomicFieldUpdater' declaration

Reports issues with AtomicLongFieldUpdater, AtomicIntegerFieldUpdater, or AtomicReferenceFieldUpdater fields (the java.util.concurrent.atomic package).

The reported issues are identical to the runtime problems that can happen with atomic field updaters: specified field not found, specified field not accessible, specified field has a wrong type, and so on.

Examples:

  • class A { private static volatile int value = 0; private static final AtomicIntegerFieldUpdater updater = AtomicIntegerFieldUpdater.newUpdater((A.class), "value"); // warning: Field 'value' has 'static' modifier }
  • class B { private static final AtomicIntegerFieldUpdater updater = AtomicIntegerFieldUpdater.newUpdater(B.class, "value"); // warning: No field named 'value' found in class 'B' }

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

AtomicFieldUpdaterIssues
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Java | Threading issues

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Java, 241.18072

Last modified: 18 June 2024