What is an object's lock and which objects have locks?
An object's lock is a mechanism that is used by multiple threads to get synchronized access to the object. A thread may implement a synchronized method of an object only after it has acquired the object's lock. All objects and classes have locks. A class's lock is acquired on the class's Class object.