-  
       - All Superinterfaces:
-  
         PlatformManagedObject,ThreadMXBean
 
 public interface ThreadMXBean extends ThreadMXBean 针对Java虚拟机的线程系统的特定于平台的管理接口。此平台扩展仅适用于支持此扩展的线程实现。 - 从以下版本开始:
- 6u25
 
-  
        
       -  
             方法摘要所有方法 实例方法 抽象方法 变量和类型 方法 描述 longgetThreadAllocatedBytes(long id)返回指定ID的线程在堆内存中分配的内存总量(以字节为单位)的近似值。long[]getThreadAllocatedBytes(long[] ids)返回ID在输入数组ids中的每个线程在堆内存中分配的内存总量的近似值(以字节为ids。long[]getThreadCpuTime(long[] ids)返回ID在输入数组ids中的每个线程的总CPU时间(以纳秒为单位)。long[]getThreadUserTime(long[] ids)返回ID在输入数组ids中的每个线程在用户模式下以纳秒为单位执行的CPU时间。booleanisThreadAllocatedMemoryEnabled()测试是否启用了线程内存分配测量。booleanisThreadAllocatedMemorySupported()测试Java虚拟机实现是否支持线程内存分配测量。voidsetThreadAllocatedMemoryEnabled(boolean enable)启用或禁用线程内存分配测量。-  
               声明方法的接口 java.lang.management.PlatformManagedObjectgetObjectName
 -  
               声明方法的接口 java.lang.management.ThreadMXBeandumpAllThreads, dumpAllThreads, findDeadlockedThreads, findMonitorDeadlockedThreads, getAllThreadIds, getCurrentThreadCpuTime, getCurrentThreadUserTime, getDaemonThreadCount, getPeakThreadCount, getThreadCount, getThreadCpuTime, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadUserTime, getTotalStartedThreadCount, isCurrentThreadCpuTimeSupported, isObjectMonitorUsageSupported, isSynchronizerUsageSupported, isThreadContentionMonitoringEnabled, isThreadContentionMonitoringSupported, isThreadCpuTimeEnabled, isThreadCpuTimeSupported, resetPeakThreadCount, setThreadContentionMonitoringEnabled, setThreadCpuTimeEnabled
 
-  
               
 
-  
             
-  
        
       -  
             方法详细信息-  getThreadCpuTimelong[] getThreadCpuTime(long[] ids) 返回ID在输入数组ids中的每个线程的总CPU时间(以纳秒为单位)。 返回值的精度为纳秒,但不一定是纳秒精度。此方法等效于为输入数组 ids中的每个线程ID调用ThreadMXBean.getThreadCpuTime(long)方法,并在返回的数组的相应元素中设置返回值。- 参数
-  
              ids- 线程ID数组。
- 结果
-  
              一个long值数组,每个值是ID在输入数组ID的对应元素中使用的线程的CPU时间量,如果指定ID的线程存在,则线程处于活动状态,并且CPU时间测量已启用; 
              否则为-1。
- 异常
-  
              NullPointerException- 如果ids是null
-  
              IllegalArgumentException- 如果输入数组ids中的任何元素是<=0。
-  
              UnsupportedOperationException- 如果Java虚拟机实现不支持CPU时间测量。
- 另请参见:
-  
              ThreadMXBean.getThreadCpuTime(long),getThreadUserTime(long[]),ThreadMXBean.isThreadCpuTimeSupported(),ThreadMXBean.isThreadCpuTimeEnabled(),ThreadMXBean.setThreadCpuTimeEnabled(boolean)
 
 -  getThreadUserTimelong[] getThreadUserTime(long[] ids) 返回ID在输入数组ids中的每个线程在用户模式下以纳秒为单位执行的CPU时间。 返回值的精度为纳秒,但不一定是纳秒精度。此方法等效于为输入数组 ids中的每个线程ID调用ThreadMXBean.getThreadUserTime(long)方法,并在返回的数组的相应元素中设置返回值。- 参数
-  
              ids- 线程ID数组。
- 结果
-  
              一个长值数组,每个值都是用户模式CPU时间量,其ID在ID输入数组的相应元素中的线程已经使用,如果指定ID的线程存在,则线程处于活动状态,并且启用CPU时间测量; 
              否则为-1。
- 异常
-  
              NullPointerException- 如果ids是null
-  
              IllegalArgumentException- 如果输入数组ids中的任何元素是<=0。
-  
              UnsupportedOperationException- 如果Java虚拟机实现不支持CPU时间测量。
- 另请参见:
-  
              ThreadMXBean.getThreadUserTime(long),getThreadCpuTime(long[]),ThreadMXBean.isThreadCpuTimeSupported(),ThreadMXBean.isThreadCpuTimeEnabled(),ThreadMXBean.setThreadCpuTimeEnabled(boolean)
 
 -  getThreadAllocatedByteslong getThreadAllocatedBytes(long id) 返回指定ID的线程在堆内存中分配的内存总量(以字节为单位)的近似值。 返回值是近似值,因为某些Java虚拟机实现可能使用对象分配机制,这会导致在分配对象的时间与其大小记录的时间之间出现延迟。如果指定ID的线程不活动或不存在,则此方法返回 -1。 如果禁用了线程内存分配测量,则此方法返回-1。 如果一个线程已经启动并且还没有死亡,它就是活着的。如果在线程启动后启用了线程内存分配测量,则Java虚拟机实现可以选择任何时间,包括启用该功能的时间作为线程内存分配测量开始的点。 - 参数
-  
              id- 线程的线程ID
- 结果
-  
              如果指定ID的线程存在,线程处于活动状态,并且线程内存分配测量已启用,则指定ID的线程在堆内存中分配的总内存(以字节为单位)的近似值; 
              否则为-1。
- 异常
-  
              IllegalArgumentException- 如果id<=0。
-  
              UnsupportedOperationException- 如果Java虚拟机实现不支持线程内存分配测量。
- 另请参见:
-  
              isThreadAllocatedMemorySupported(),isThreadAllocatedMemoryEnabled(),setThreadAllocatedMemoryEnabled(boolean)
 
 -  getThreadAllocatedByteslong[] getThreadAllocatedBytes(long[] ids) 返回ID在输入数组ids中的每个线程在堆内存中分配的内存总量的近似值(以字节为ids。 返回值是近似值,因为某些Java虚拟机实现可能使用对象分配机制,这会导致分配对象的时间与记录其大小的时间之间的延迟。此方法等效于为输入数组 ids中的每个线程ID调用getThreadAllocatedBytes(long)方法,并在返回的数组的相应元素中设置返回值。- 参数
-  
              ids- 线程ID数组。
- 结果
- 一个long值数组,每个long值都是在堆内存中分配的总内存(以字节为单位)的近似值,用于ID在ID输入数组的相应元素中的线程。
- 异常
-  
              NullPointerException- 如果ids是null
-  
              IllegalArgumentException- 如果输入数组ids中的任何元素是<=0。
-  
              UnsupportedOperationException- 如果Java虚拟机实现不支持线程内存分配测量。
- 另请参见:
-  
              getThreadAllocatedBytes(long),isThreadAllocatedMemorySupported(),isThreadAllocatedMemoryEnabled(),setThreadAllocatedMemoryEnabled(boolean)
 
 -  isThreadAllocatedMemorySupportedboolean isThreadAllocatedMemorySupported() 测试Java虚拟机实现是否支持线程内存分配测量。- 结果
-  
              true如果Java虚拟机实现支持线程内存分配测量; 否则为false。
 
 -  isThreadAllocatedMemoryEnabledboolean isThreadAllocatedMemoryEnabled() 测试是否启用了线程内存分配测量。- 结果
-  
              true如果启用了线程内存分配测量; 否则为false。
- 异常
-  
              UnsupportedOperationException- 如果Java虚拟机不支持线程内存分配测量。
- 另请参见:
-  
              isThreadAllocatedMemorySupported()
 
 -  setThreadAllocatedMemoryEnabledvoid setThreadAllocatedMemoryEnabled(boolean enable) 启用或禁用线程内存分配测量。 默认值取决于平台。- 参数
-  
              enable-true启用;false禁用。
- 异常
-  
              UnsupportedOperationException- 如果Java虚拟机不支持线程内存分配测量。
-  
              SecurityException- 如果存在安全管理器且调用者没有ManagementPermission(“control”)。
- 另请参见:
-  
              isThreadAllocatedMemorySupported()
 
 
-  
 
-