>>707
同じ場所にアクセスしてる場合でも、
- そこに格納されてる値を読む
- その値から何か新しい値を計算する。
- 新しい値を書き込む
って一連の操作をアトミックにする必要がなければ、synchronizedはいらないよ。

単純な例をあげると、どのスレッドも読むだけの場合はsynchronizedはいらない。
あと、synchronizedにしなきゃいけない場合でも、あんまりstaticメソッドにはつけないなあ。
staticメソッドにsynchronizedつけると、そのクラスオブジェクトがロックされちゃうから色々不便なこともある。