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]); }

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.

VolatileArrayField
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