@Exported public interface ThreadMXBean extends ThreadMXBean
This platform extension is only available to a thread implementation that supports this extension.
Modifier and Type | Method and Description |
---|---|
long |
getThreadAllocatedBytes(long id)
Returns an approximation of the total amount of memory, in bytes,
allocated in heap memory for the thread of the specified ID.
|
long[] |
getThreadAllocatedBytes(long[] ids)
Returns an approximation of the total amount of memory, in bytes,
allocated in heap memory for each thread whose ID is in the input
array
ids . |
long[] |
getThreadCpuTime(long[] ids)
Returns the total CPU time for each thread whose ID is
in the input array
ids in nanoseconds. |
long[] |
getThreadUserTime(long[] ids)
Returns the CPU time that each thread whose ID is in the input array
ids has executed in user mode in nanoseconds. |
boolean |
isThreadAllocatedMemoryEnabled()
Tests if thread memory allocation measurement is enabled.
|
boolean |
isThreadAllocatedMemorySupported()
Tests if the Java virtual machine implementation supports thread memory
allocation measurement.
|
void |
setThreadAllocatedMemoryEnabled(boolean enable)
Enables or disables thread memory allocation measurement.
|
dumpAllThreads, findDeadlockedThreads, findMonitorDeadlockedThreads, getAllThreadIds, getCurrentThreadCpuTime, getCurrentThreadUserTime, getDaemonThreadCount, getPeakThreadCount, getThreadCount, getThreadCpuTime, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadUserTime, getTotalStartedThreadCount, isCurrentThreadCpuTimeSupported, isObjectMonitorUsageSupported, isSynchronizerUsageSupported, isThreadContentionMonitoringEnabled, isThreadContentionMonitoringSupported, isThreadCpuTimeEnabled, isThreadCpuTimeSupported, resetPeakThreadCount, setThreadContentionMonitoringEnabled, setThreadCpuTimeEnabled
getObjectName
long[] getThreadCpuTime(long[] ids)
ids
in nanoseconds.
The returned values are of nanoseconds precision but
not necessarily nanoseconds accuracy.
This method is equivalent to calling the
ThreadMXBean.getThreadCpuTime(long)
method for each thread ID in the input array ids
and setting the
returned value in the corresponding element of the returned array.
ids
- an array of thread IDs.-1
otherwise.NullPointerException
- if ids
is null
IllegalArgumentException
- if any element in the input array
ids
is <=
0
.UnsupportedOperationException
- if the Java
virtual machine implementation does not support CPU time
measurement.ThreadMXBean.getThreadCpuTime(long)
,
getThreadUserTime(long[])
,
ThreadMXBean.isThreadCpuTimeSupported()
,
ThreadMXBean.isThreadCpuTimeEnabled()
,
ThreadMXBean.setThreadCpuTimeEnabled(boolean)
long[] getThreadUserTime(long[] ids)
ids
has executed in user mode in nanoseconds.
The returned values are of nanoseconds precision but
not necessarily nanoseconds accuracy.
This method is equivalent to calling the
ThreadMXBean.getThreadUserTime(long)
method for each thread ID in the input array ids
and setting the
returned value in the corresponding element of the returned array.
ids
- an array of thread IDs.-1
otherwise.NullPointerException
- if ids
is null
IllegalArgumentException
- if any element in the input array
ids
is <=
0
.UnsupportedOperationException
- if the Java
virtual machine implementation does not support CPU time
measurement.ThreadMXBean.getThreadUserTime(long)
,
getThreadCpuTime(long[])
,
ThreadMXBean.isThreadCpuTimeSupported()
,
ThreadMXBean.isThreadCpuTimeEnabled()
,
ThreadMXBean.setThreadCpuTimeEnabled(boolean)
long getThreadAllocatedBytes(long id)
If the thread of the specified ID is not alive or does not exist,
this method returns -1
. If thread memory allocation measurement
is disabled, this method returns -1
.
A thread is alive if it has been started and has not yet died.
If thread memory allocation measurement is enabled after the thread has started, the Java virtual machine implementation may choose any time up to and including the time that the capability is enabled as the point where thread memory allocation measurement starts.
id
- the thread ID of a thread-1
otherwise.IllegalArgumentException
- if id
<=
0
.UnsupportedOperationException
- if the Java virtual
machine implementation does not support thread memory allocation
measurement.isThreadAllocatedMemorySupported()
,
isThreadAllocatedMemoryEnabled()
,
setThreadAllocatedMemoryEnabled(boolean)
long[] getThreadAllocatedBytes(long[] ids)
ids
.
The returned values are approximations because some Java virtual machine
implementations may use object allocation mechanisms that result in a
delay between the time an object is allocated and the time its size is
recorded.
This method is equivalent to calling the
getThreadAllocatedBytes(long)
method for each thread ID in the input array ids
and setting the
returned value in the corresponding element of the returned array.
ids
- an array of thread IDs.NullPointerException
- if ids
is null
IllegalArgumentException
- if any element in the input array
ids
is <=
0
.UnsupportedOperationException
- if the Java virtual
machine implementation does not support thread memory allocation
measurement.getThreadAllocatedBytes(long)
,
isThreadAllocatedMemorySupported()
,
isThreadAllocatedMemoryEnabled()
,
setThreadAllocatedMemoryEnabled(boolean)
boolean isThreadAllocatedMemorySupported()
true
if the Java virtual machine implementation supports thread memory
allocation measurement;
false
otherwise.boolean isThreadAllocatedMemoryEnabled()
true
if thread memory allocation measurement is enabled;
false
otherwise.UnsupportedOperationException
- if the Java virtual
machine does not support thread memory allocation measurement.isThreadAllocatedMemorySupported()
void setThreadAllocatedMemoryEnabled(boolean enable)
enable
- true
to enable;
false
to disable.UnsupportedOperationException
- if the Java virtual
machine does not support thread memory allocation measurement.SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("control").isThreadAllocatedMemorySupported()
Copyright © 2003, 2016, Oracle and/or its affiliates. All rights reserved.