final フィールド参照で構成されている synchronized ステートメントロック式を報告します。 このようなステートメントが有効なセマンティクスを持つ可能性は低いです。同じオブジェクトに対する操作を行っている場合も、異なるスレッドが別のロックを獲得する可能性があるためです。

例:


  private Object o;
  public void foo() {
    synchronized (o) // 非 final フィールドでの同期
    { }
  }