Reports non-final, non-private fields that are accessed in a synchronized context.

A non-private field cannot be guaranteed to always be accessed in a synchronized manner, and such "partially synchronized" access may result in unexpectedly inconsistent data structures.

Example:


  class Bar {
    public String field1;
  }
  public Bar myBar;

  synchronized public void sample() {
   myBar.field1 = "bar";
  }