Back to Intellij Community

FieldAccessedSynchronizedAndUnsynchronized

java/java-impl/resources/inspectionDescriptions/FieldAccessedSynchronizedAndUnsynchronized.html

2025.3-rc-2722 B
Original Source

Reports non-final fields that are accessed in both synchronized and non-synchronized contexts. volatile fields as well as accesses in constructors and initializers are ignored by this inspection.

Such "partially synchronized" access is often the result of a coding oversight and may lead to unexpectedly inconsistent data structures.

Example:

public class Program {
    Console console; // warning: Field 'console' is accessed in both synchronized and unsynchronized contexts

    public synchronized void execute() {
      console.print("running");
    }

    public void check() {
      console.check();
    }
  }

Use the option to specify if simple getters and setters are counted as accesses too.