MonitorInfo (Java SE 25 & JDK 25)
Description: declaration: module: jdk.jdi, package: com.sun.jdi, interface: MonitorInfo
Keywords: com.sun.jdi.MonitorInfo interface

# Interface MonitorInfo

All Superinterfaces:
  `Mirror`

public interface MonitorInfo extends Mirror
Information about a monitor owned by a thread.

Since:
  1.6

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ObjectReference`
  `monitor()`
  Returns the `ObjectReference` object for the monitor.
  `int`
  `stackDepth()`
  Returns the stack depth at which this monitor was acquired by the owning thread.
  `ThreadReference`
  `thread()`
  Returns a `ThreadReference` object for the thread that owns the monitor.

  ### Methods declared in interface Mirror

  `toString, virtualMachine`

- ## Method Details

  - ### monitor

    ObjectReference monitor()
    Returns the `ObjectReference` object for the monitor.
    Returns:
      the `ObjectReference` object for the monitor.
    Throws:
      `InvalidStackFrameException` - if the associated stack frame has become invalid. Once the frame's thread is resumed, the stack frame is no longer valid.
    Since:
      1.6
    See Also:
      - `ThreadReference.ownedMonitorsAndFrames()`

  - ### stackDepth

    int stackDepth()
    Returns the stack depth at which this monitor was acquired by the owning thread. Returns -1 if the implementation cannot determine the stack depth (e.g., for monitors acquired by JNI MonitorEnter).
    Returns:
      the stack depth at which this monitor was acquired by the owning thread.
    Throws:
      `InvalidStackFrameException` - if the associated stack frame has become invalid. Once the frame's thread is resumed, the stack frame is no longer valid.
    See Also:
      - `ThreadReference.ownedMonitorsAndFrames()`

  - ### thread

    ThreadReference thread()
    Returns a `ThreadReference` object for the thread that owns the monitor.
    Returns:
      a `ThreadReference` object for the thread that owns the monitor.
    Throws:
      `InvalidStackFrameException` - if the associated stack frame has become invalid. Once the frame's thread is resumed, the stack frame is no longer valid.
    See Also:
      - `ThreadReference.frame(int)`