Field accessed in both 'synchronized' and unsynchronized contexts
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.
Inspection options
Option | Type | Default |
---|---|---|
Simple getters and setters are considered field accesses too | Checkbox | false |
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023