Inspectopedia Help

Volatile array field

Reports array fields that are declared volatile. Such declarations may be confusing because accessing the array itself follows the rules for volatile fields, but accessing the array's contents does not.

Example:

class Data { private volatile int[] idx = new int[0]; }

If such volatile access is needed for array contents, consider using java.util.concurrent.atomic classes instead:

class Data { private final AtomicIntegerArray idx = new AtomicIntegerArray(new int[0]); }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023