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'
}