Sponsored Link • Object and class locks As described above, two
memory areas in the Java virtual machine contain data shared by
all threads. These are: If multiple threads need to use the same
objects or class variables concurrently, their access to the
data must be properly managed. Otherwise, the program will have
unpredictable behavior. To coordinate shared data access among
multiple threads, the Java virtual machine associates a lock
with each object and class. A lock is like a privilege that only
one thread can "possess" at any one time. If a thread wants to
lock a particular object or class, it asks the JVM. At some
point after the thread asks the JVM for a lock -- maybe very
soon, maybe later, possibly never -- the JVM gives the lock to
the thread. When the thread no longer needs the lock, it returns
it to the JVM. If another thread has requested the same lock,
the JVM passes the lock to that thread. Class locks are actually
implemented as object locks. When the JVM loads a class file, it
creates an in