
I use visualVM connect a multi thread Java application, thread has 4 status, n
Monitor will mean the thread is waiting to attain a lock on an object. For example when one thread is running a synchronized method and another one tries to invoke it on the same object, it will not be able to until the first invocation of the method is finished. This is because the first thread has a monitor or lock on that object, so the second one must wait until it is released.
From Oracle Threading Tutorials:
"Synchronization is built around an internal entity known as the intrinsic lock or monitor lock. (The API specification often refers to this entity simply as a "monitor.") Intrinsic locks play a role in both aspects of synchronization: enforcing exclusive access to an object's state and establishing happens-before relationships that are essential to visibility."