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.