Methods Summary |
---|
public static java.lang.management.ThreadInfo | from(javax.management.openmbean.CompositeData cd)Returns a ThreadInfo object represented by the
given CompositeData.
The given CompositeData must contain the following attributes:
Attribute Name |
Type |
threadId |
java.lang.Long |
threadName |
java.lang.String |
threadState |
java.lang.String |
suspended |
java.lang.Boolean |
inNative |
java.lang.Boolean |
blockedCount |
java.lang.Long |
blockedTime |
java.lang.Long |
waitedCount |
java.lang.Long |
waitedTime |
java.lang.Long |
lockName |
java.lang.String |
lockOwnerId |
java.lang.Long |
lockOwnerName |
java.lang.String |
stackTrace |
javax.management.openmbean.CompositeData[]
Each element is a CompositeData representing
StackTraceElement containing the following attributes:
Attribute Name |
Type |
className |
java.lang.String |
methodName |
java.lang.String |
fileName |
java.lang.String |
lineNumber |
java.lang.Integer |
nativeMethod |
java.lang.Boolean |
|
if (cd == null) {
return null;
}
if (cd instanceof ThreadInfoCompositeData) {
return ((ThreadInfoCompositeData) cd).getThreadInfo();
} else {
return new ThreadInfo(cd);
}
|
public long | getBlockedCount()Returns the total number of times that
the thread associated with this ThreadInfo
blocked to enter or reenter a monitor.
I.e. the number of times a thread has been in the
{@link java.lang.Thread.State#BLOCKED BLOCKED} state.
return blockedCount;
|
public long | getBlockedTime()Returns the approximate accumulated elapsed time (in milliseconds)
that the thread associated with this ThreadInfo
has blocked to enter or reenter a monitor
since thread contention monitoring is enabled.
I.e. the total accumulated time the thread has been in the
{@link java.lang.Thread.State#BLOCKED BLOCKED} state since thread
contention monitoring was last enabled.
This method returns -1 if thread contention monitoring
is disabled.
The Java virtual machine may measure the time with a high
resolution timer. This statistic is reset when
the thread contention monitoring is reenabled.
return blockedTime;
|
public java.lang.String | getLockName()Returns the string representation of the monitor lock that
the thread associated with this ThreadInfo
is blocked to enter or waiting to be notified through
the {@link Object#wait Object.wait} method.
The returned string representation of a monitor lock consists of
the name of the class of which the object is an instance, the
at-sign character `@', and the unsigned hexadecimal representation
of the identity hash code of the object.
The returned string may not
be unique depending on the implementation of the
{@link System#identityHashCode} method.
This method returns a string equals to the value of:
lock.getClass().getName() + '@' + Integer.toHexString(System.identityHashCode(lock))
where lock is the monitor lock object.
If the thread is not blocking to enter on any monitor object,
or is not waiting on a monitor object for notification in a
Object.wait call,
this method returns null.
return lockName;
|
public long | getLockOwnerId()Returns the ID of the thread which holds the monitor lock of an object
on which the thread associated with this ThreadInfo
is blocking.
This method will return -1 if this thread is not blocked
or waiting on any monitor, or if the monitor lock is not held
by any thread.
return lockOwnerId;
|
public java.lang.String | getLockOwnerName()Returns the name of the thread which holds the monitor lock of an object
on which the thread associated with this ThreadInfo
is blocking.
This method will return null if this thread is not blocked
or waiting on any monitor, or if the monitor lock is not held
by any thread.
return lockOwnerName;
|
public java.lang.StackTraceElement[] | getStackTrace()Returns the stack trace of the thread
associated with this ThreadInfo.
If no stack trace was requested for this thread info, this method
will return a zero-length array.
If the returned array is of non-zero length then the first element of
the array represents the top of the stack, which is the most recent
method invocation in the sequence. The last element of the array
represents the bottom of the stack, which is the least recent method
invocation in the sequence.
Some Java virtual machines may, under some circumstances, omit one
or more stack frames from the stack trace. In the extreme case,
a virtual machine that has no stack trace information concerning
the thread associated with this ThreadInfo
is permitted to return a zero-length array from this method.
if (stackTrace == null) {
return NO_STACK_TRACE;
} else {
return stackTrace;
}
|
public long | getThreadId()Returns the ID of the thread associated with this ThreadInfo.
return threadId;
|
public java.lang.String | getThreadName()Returns the name of the thread associated with this ThreadInfo.
return threadName;
|
public java.lang.Thread$State | getThreadState()Returns the state of the thread associated with this ThreadInfo.
return threadState;
|
public long | getWaitedCount()Returns the total number of times that
the thread associated with this ThreadInfo
waited for notification.
I.e. the number of times that a thread has been
in the {@link java.lang.Thread.State#WAITING WAITING}
or {@link java.lang.Thread.State#TIMED_WAITING TIMED_WAITING} state.
return waitedCount;
|
public long | getWaitedTime()Returns the approximate accumulated elapsed time (in milliseconds)
that the thread associated with this ThreadInfo
has waited for notification
since thread contention monitoring is enabled.
I.e. the total accumulated time the thread has been in the
{@link java.lang.Thread.State#WAITING WAITING}
or {@link java.lang.Thread.State#TIMED_WAITING TIMED_WAITING} state
since thread contention monitoring is enabled.
This method returns -1 if thread contention monitoring
is disabled.
The Java virtual machine may measure the time with a high
resolution timer. This statistic is reset when
the thread contention monitoring is reenabled.
return waitedTime;
|
public boolean | isInNative()Tests if the thread associated with this ThreadInfo
is executing native code via the Java Native Interface (JNI).
The JNI native code does not include
the virtual machine support code or the compiled native
code generated by the virtual machine.
return inNative;
|
public boolean | isSuspended()Tests if the thread associated with this ThreadInfo
is suspended. This method returns true if
{@link Thread#suspend} has been called.
return suspended;
|
public java.lang.String | toString()Returns a string representation of this thread info.
return "Thread " + getThreadName() + " (Id = " + getThreadId() + ") " +
getThreadState() + " " + getLockName();
|