java.lang.management

接口
异常
java.lang.Object
  继承者 java.lang.management.LockInfo
      继承者 java.lang.management.MonitorInfo

public class MonitorInfo
     
extends LockInfo

关于对象监视器锁的信息。当在该对象上输入一个同步块或方法时,则锁定对象监视器。

MXBean 映射

MonitorInfo 将被映射到 CompositeData,并具有 from 方法中指定的属性。

从以下版本开始:
1.6

构造方法摘要
MonitorInfo(String className, int identityHashCode, int stackDepth, StackTraceElement stackFrame)
          构造一个 MonitorInfo 对象。
 
方法摘要
static MonitorInfo from(CompositeData cd)
          返回给定 CompositeData 表示的 MonitorInfo 对象。
 int getLockedStackDepth()
          返回锁定对象监视器的堆栈跟踪中的深度。
 StackTraceElement getLockedStackFrame()
          返回锁定对象监视器的堆栈帧。
 
从类 java.lang.management.LockInfo 继承的方法
getClassName, getIdentityHashCode, toString
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

MonitorInfo

public MonitorInfo(String className,
                   int identityHashCode,
                   int stackDepth,
                   StackTraceElement stackFrame)
构造一个 MonitorInfo 对象。

参数:
className - 锁对象的完全限定类名称。
identityHashCode - 锁对象的 标识哈希码
stackDepth - 锁定对象监视器的堆栈跟踪中的深度。
stackFrame - 锁定对象监视器的堆栈帧。
抛出:
IllegalArgumentException - 如果 stackDepth ≥ 0 但 stackFramenull,或者 stackDepth < 0 但 stackFrame 不为 null
方法详细信息

getLockedStackDepth

public int getLockedStackDepth()
返回锁定对象监视器的堆栈跟踪中的深度。深度是 ThreadInfo.getStackTrace() 方法中返回的 StackTraceElement 数组的索引。

返回:
锁定对象监视器的堆栈跟踪中的深度;如果不可用,则返回一个负数。

getLockedStackFrame

public StackTraceElement getLockedStackFrame()
返回锁定对象监视器的堆栈帧。

返回:
锁定对象监视器的 StackTraceElement;如果不可用,则返回 null

from

public static MonitorInfo from(CompositeData cd)
返回给定 CompositeData 表示的 MonitorInfo 对象。给定 CompositeData 必须包含以下属性以及 LockInfo映射类型中指定的属性:
属性名称 类型
lockedStackFrame ThreadInfo.from 方法中定义的 stackTrace 属性中指定的 CompositeData。
lockedStackDepth java.lang.Integer

参数:
cd - 表示 MonitorInfoCompositeData
返回:
如果 cd 不为 null,则返回 cd 所表示的 MonitorInfo 对象;否则,返回 null
抛出:
IllegalArgumentException - 如果 cd 不表示具有上述属性的 MonitorInfo