Интерфейс ThreadMXBean
- Все суперинтерфейсы:
-
PlatformManagedObject,ThreadMXBean
public interface ThreadMXBean extends ThreadMXBean
Это платформное расширение доступно только реализации потока, поддерживающей это расширение.
- С момента:
- 6u25
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default long |
getCurrentThreadAllocatedBytes() |
Возвращает приблизительное значение общего объема памяти, выделенной в куче памяти для текущего потока (в байтах). |
long |
getThreadAllocatedBytes |
Возвращает приблизительное значение общего объема памяти, выделенной в куче памяти для потока с указанным идентификатором (в байтах). |
long[] |
getThreadAllocatedBytes |
Возвращает приблизительное значение общего объема памяти, выделенной в куче памяти для каждого потока, идентификаторы которых находятся в входном массиве ids (в байтах). |
long[] |
getThreadCpuTime |
Возвращает общее время работы ЦП для каждого потока, идентификаторы которых находятся в входном массиве ids в наносекундах. |
long[] |
getThreadUserTime |
Возвращает время работы ЦП каждого потока, идентификаторы которых находятся в входном массиве ids, затраченное в пользовательском режиме в наносекундах. |
default long |
getTotalThreadAllocatedBytes() |
Возвращает приблизительное значение общего объема памяти, выделенной в куче памяти всеми потоками с момента запуска виртуальной машины Java (в байтах). |
boolean |
isThreadAllocatedMemoryEnabled() |
Проверяет, включено ли измерение распределения памяти потоков. |
boolean |
isThreadAllocatedMemorySupported() |
Проверяет, поддерживает ли реализация виртуальной машины Java измерение распределения памяти потоков. |
void |
setThreadAllocatedMemoryEnabled |
Включает или отключает измерение распределения памяти потоков. |
Методы, объявленные в интерфейсе java.lang.management.PlatformManagedObject
getObjectName
Методы, объявленные в интерфейсе java.lang.management.ThreadMXBean
dumpAllThreads, 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
Подробное описание методов
getThreadCpuTime
long[] getThreadCpuTime(long[] ids)
ids в наносекундах. Возвращаемые значения имеют точность наносекунд, но не обязательно точность в наносекундах. Этот метод эквивалентен вызову метода ThreadMXBean.getThreadCpuTime(long) для каждого идентификатора потока во входном массиве ids и установке возвращаемого значения в соответствующий элемент возвращаемого массива.
- Параметры:
-
ids- массив идентификаторов потоков. - Возвращает:
- массив значений типа long, где каждое значение — это количество времени работы ЦП, используемое потоком, идентификатор которого находится в соответствующем элементе входного массива идентификаторов, если поток с указанным идентификатором является платформенным потоком, поток активен и измерение времени работы ЦП включено;
-1в противном случае. - Исключения:
-
NullPointerException- еслиidsявляетсяnull -
IllegalArgumentException- если какой-либо элемент во входном массивеidsимеет значение<=0. -
UnsupportedOperationException- если реализация Java виртуальной машины не поддерживает измерение времени работы ЦП. - См. также:
getThreadUserTime
long[] getThreadUserTime(long[] ids)
ids, выполненное в пользовательском режиме в наносекундах. Возвращаемые значения имеют точность наносекунд, но не обязательно точность в наносекундах. Этот метод эквивалентен вызову метода ThreadMXBean.getThreadUserTime(long) для каждого идентификатора потока во входном массиве ids и установке возвращаемого значения в соответствующий элемент возвращаемого массива.
- Параметры:
-
ids- массив идентификаторов потоков. - Возвращает:
- массив значений типа long, где каждое значение — это количество времени работы ЦП в пользовательском режиме, использованное потоком, идентификатор которого находится в соответствующем элементе входного массива идентификаторов, если поток с указанным идентификатором является платформенным потоком, поток активен и измерение времени работы ЦП включено;
-1в противном случае. - Исключения:
-
NullPointerException- еслиidsявляетсяnull -
IllegalArgumentException- если какой-либо элемент во входном массивеidsимеет значение<=0. -
UnsupportedOperationException- если реализация Java виртуальной машины не поддерживает измерение времени работы ЦП. - См. также:
getTotalThreadAllocatedBytes
default long getTotalThreadAllocatedBytes()
- Требования к реализации:
- По умолчанию, если реализация Java виртуальной машины не поддерживает измерение выделения памяти потоков, выбрасывает
UnsupportedOperationException, в противном случае ведёт себя так, как будто измерение выделения памяти потоков отключено. - Возвращает:
- приблизительное значение общего объёма памяти в байтах, выделенной в куче памяти с момента запуска Java виртуальной машины, если измерение выделения памяти потоков включено;
-1в противном случае. - Исключения:
-
UnsupportedOperationException- если реализация Java виртуальной машины не поддерживает измерение выделения памяти потоков. - С версии:
- 21
- См. также:
getCurrentThreadAllocatedBytes
default long getCurrentThreadAllocatedBytes()
Это удобный метод для использования в локальном управлении и эквивалентен вызову:
getThreadAllocatedBytes(Thread.currentThread().threadId());
- Возвращает:
- приблизительное значение общего объёма памяти в байтах, выделенной в куче памяти для текущего потока, если измерение выделения памяти потоков включено;
-1в противном случае. - Исключения:
-
UnsupportedOperationException- если реализация Java виртуальной машины не поддерживает измерение выделения памяти потоков. - С версии:
- 14
- См. также:
getThreadAllocatedBytes
long getThreadAllocatedBytes(long id)
Если поток с указанным идентификатором является виртуальным потоком, не активен или не существует, этот метод возвращает -1. Если измерение выделения памяти потоков отключено, этот метод возвращает -1. Поток активен, если он был запущен и ещё не завершён.
Если измерение выделения памяти потоков включено после запуска потока, реализация Java виртуальной машины может выбрать любое время до и включая момент включения возможности в качестве момента, с которого начинается измерение выделения памяти потока.
- Параметры:
-
id- идентификатор потока - Возвращает:
- приблизительное значение общего объёма памяти в байтах, выделенной в куче памяти для потока с указанным идентификатором, если поток с указанным идентификатором является платформенным потоком, поток активен и измерение выделения памяти потоков включено;
-1в противном случае. - Исключения:
-
IllegalArgumentException- еслиid<=0. -
UnsupportedOperationException- если реализация Java виртуальной машины не поддерживает измерение выделения памяти потоков. - См. также:
getThreadAllocatedBytes
long[] getThreadAllocatedBytes(long[] ids)
ids. Возвращаемые значения являются приблизительными, потому что некоторые реализации Java виртуальных машин могут использовать механизмы выделения объектов, что приводит к задержке между временем выделения объекта и временем записи его размера. Этот метод эквивалентен вызову метода getThreadAllocatedBytes(long) для каждого идентификатора потока во входном массиве ids и установке возвращаемого значения в соответствующий элемент возвращаемого массива.
- Параметры:
-
ids- массив идентификаторов потоков. - Возвращает:
- массив значений типа long, где каждое значение — это приблизительное значение общего объёма памяти в байтах, выделенной в куче памяти для потока, идентификатор которого находится в соответствующем элементе входного массива идентификаторов.
- Исключения:
-
NullPointerException- еслиidsявляетсяnull -
IllegalArgumentException- если какой-либо элемент во входном массивеidsимеет значение<=0. -
UnsupportedOperationException- если реализация Java виртуальной машины не поддерживает измерение выделения памяти потоков. - См. также:
isThreadAllocatedMemorySupported
boolean isThreadAllocatedMemorySupported()
- Возвращает:
-
true, если реализация Java виртуальной машины поддерживает измерение распределения памяти потоков;falseв противном случае.
isThreadAllocatedMemoryEnabled
boolean isThreadAllocatedMemoryEnabled()
- Возвращает:
-
true, если измерение распределения памяти потоков включено;falseв противном случае. - Выбрасывает:
-
UnsupportedOperationException- если Java виртуальная машина не поддерживает измерение распределения памяти потоков. - См. также:
setThreadAllocatedMemoryEnabled
void setThreadAllocatedMemoryEnabled(boolean enable)
- Параметры:
-
enable-trueдля включения;falseдля выключения. - Выбрасывает:
-
UnsupportedOperationException- если Java виртуальная машина не поддерживает измерение распределения памяти потоков. - См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/jdk.management/com/sun/management/ThreadMXBean.html