To execute a synchronized method, the invoking object should have the lock on that object.
see what is sun telling about the lock ..
"Within a program, the code segments that access the same object from separate, concurrent threads are called critical sections. A critical section can be a block or a method and is identified with the synchronized keyword. The
Java platform associates a lock with every object and the lock is acquired upon entering a critical section."
That means when you invoke synchronized method,
you should have mutex or mutually exclusive lock on that object, other object can invoke that method only after you relase the lock on that object. But other objects can invoke non-synchronized method on the same object concurrently.
Synchronized block will reduce the domain synchronization, The advantage in instead synchronizing the whole method you can synchronize a small part of the method.