getClass() の呼び出しの同期を報告します。

同期を含むクラスがサブクラス化されている場合、そのサブクラスは異なるクラスオブジェクトに同期します。 通常、getClass() の呼び出しは String.class などのクラスリテラル式に置換できます。 さらに良い解決策は、アクセスを完全に制御できる private static final ロックオブジェクトに同期することです。

例:

 synchronized(getClass()) {}