 <p><code>synchronized</code> on an instance method does just serialize calls per instance, <code>synchronized</code> on a static method would do that per class, hence for all calls. So they have different lock objects. As one can guess now, a <code>static synchronized</code> method may be used to modify those static fields.</p>