what is the difference between lock and monitor in java?
So a monitor and a lock can not be compared for differences, rather they are complimentary to each other. Every object in Java is associated with a monitor which a thread can lock or unlock. A lock is kind of data which is logically part of an object's header on the heap memory.