synchronizedの排他関係について気になったので整理しました。 staticメソッドのsynchronized Classオブジェクトのロックを取得します。 class HogeClass { synchronized static public void hogeMethod() { // 処理 } } 上記は以下のsynchronizedブロックと同様になります。 static public void hogeMethod() { synchronized(Class.forName("HogeClass")) { // 処理 } } 以下のようなsynchronizedがついてるメソッドとついていないメソッドが混在するクラスの場合。 class HogeClass { synchronized static public void methodA() { // 処理 } sy