Module java.management

Class MonitorInfo

java.lang.Object
java.lang.management.LockInfo
java.lang.management.MonitorInfo

public class MonitorInfo extends LockInfo
对象监视器锁的信息。当进入该对象的同步块或方法时,对象监视器被锁定。

MXBean映射

MonitorInfo被映射为一个CompositeData,其属性如在from方法中指定。
自 JDK 版本:
1.6
  • Constructor Details

    • MonitorInfo

      public MonitorInfo(String className, int identityHashCode, int stackDepth, StackTraceElement stackFrame)
      构造一个MonitorInfo对象。
      参数:
      className - 锁定对象的类的完全限定名称。
      identityHashCode - 锁定对象的标识散列码
      stackDepth - 对象监视器被锁定时在堆栈跟踪中的深度。
      stackFrame - 锁定对象监视器的堆栈帧。
      抛出:
      IllegalArgumentException - 如果stackDepth ≥ 0但stackFramenull,或者stackDepth < 0但stackFrame不为null
  • Method Details

    • getLockedStackDepth

      public int getLockedStackDepth()
      返回对象监视器被锁定时在堆栈跟踪中的深度。深度是在ThreadInfo.getStackTrace()方法中返回的StackTraceElement数组的索引。
      返回:
      对象监视器被锁定时在堆栈跟踪中的深度,如果不可用则返回负数。
    • getLockedStackFrame

      public StackTraceElement getLockedStackFrame()
      返回锁定对象监视器的堆栈帧。
      返回:
      锁定对象监视器的StackTraceElement,如果不可用则返回null
    • from

      public static MonitorInfo from(CompositeData cd)
      返回由给定CompositeData表示的MonitorInfo对象。给定的CompositeData必须包含以下属性,以及 LockInfo类的映射类型中指定的属性:
      给定CompositeData包含的属性及其类型
      属性名称 类型
      lockedStackFrame StackTraceElementCompositeData,如ThreadInfo.from(CompositeData)方法中指定。
      lockedStackDepth java.lang.Integer
      参数:
      cd - 表示MonitorInfoCompositeData
      返回:
      如果cd不为null,则返回由cd表示的MonitorInfo对象;否则返回null
      抛出:
      IllegalArgumentException - 如果cd不表示具有上述属性的MonitorInfo