Spec-Zone.ru › OpenJDK 17

Интерфейс ThreadMXBean

Все суперинтерфейсы:
PlatformManagedObject, ThreadMXBean
public interface ThreadMXBean extends ThreadMXBean
Платформенно-специфичный интерфейс управления системой потоков виртуальной машины Java.

Это расширение платформы доступно только реализации потока, поддерживающей это расширение.

С:
6u25

Краткое описание методов

Модификатор и тип Метод Описание
default long getCurrentThreadAllocatedBytes()
Возвращает приблизительное значение общего объёма памяти, в байтах, выделенной в куче памяти для текущего потока.
long getThreadAllocatedBytes(long id)
Возвращает приблизительное значение общего объёма памяти, в байтах, выделенной в куче памяти для потока с указанным идентификатором.
long[] getThreadAllocatedBytes(long[] ids)
Возвращает приблизительное значение общего объёма памяти, в байтах, выделенной в куче памяти для каждого потока, идентификаторы которых находятся в входном массиве ids.
long[] getThreadCpuTime(long[] ids)
Возвращает общее время выполнения CPU для каждого потока, идентификаторы которых находятся в входном массиве ids в наносекундах.
long[] getThreadUserTime(long[] ids)
Возвращает время выполнения CPU, которое каждый поток, идентификаторы которых находятся в входном массиве ids, провёл в пользовательском режиме в наносекундах.
boolean isThreadAllocatedMemoryEnabled()
Проверяет, включено ли измерение выделения памяти потоков.
boolean isThreadAllocatedMemorySupported()
Проверяет, поддерживает ли реализация виртуальной машины Java измерение выделения памяти потоков.
void setThreadAllocatedMemoryEnabled(boolean enable)
Включает или отключает измерение выделения памяти потоков.

Методы, объявленные в интерфейсе 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 не поддерживает измерение времени работы процессора.
См. также:
  • ThreadMXBean.getThreadCpuTime(long)
  • getThreadUserTime(long[])
  • ThreadMXBean.isThreadCpuTimeSupported()
  • ThreadMXBean.isThreadCpuTimeEnabled()
  • ThreadMXBean.setThreadCpuTimeEnabled(boolean)

getThreadUserTime

long[] getThreadUserTime(long[] ids)
Возвращает время работы процессора для каждого потока, идентификатор которого указан в входном массиве ids в режиме пользователя в наносекундах. Возвращаемые значения имеют точность в наносекундах, но не обязательно точность в наносекундах.

Этот метод эквивалентен вызову метода ThreadMXBean.getThreadUserTime(long) для каждого идентификатора потока во входном массиве ids и установке возвращаемого значения в соответствующий элемент возвращаемого массива.

Параметры:
ids - массив идентификаторов потоков.
Возвращает:
массив значений типа long, каждое из которых представляет собой количество времени работы процессора в режиме пользователя, используемого потоком, идентификатор которого указан в соответствующем элементе входного массива идентификаторов, если поток с указанным идентификатором существует, поток активен и измерение времени работы процессора включено; -1 в противном случае.
Выбрасывает:
NullPointerException - если ids равно null
IllegalArgumentException - если любой элемент во входном массиве ids имеет значение <= 0.
UnsupportedOperationException - если реализация виртуальной машины Java не поддерживает измерение времени работы процессора.
См. также:
  • ThreadMXBean.getThreadUserTime(long)
  • getThreadCpuTime(long[])
  • ThreadMXBean.isThreadCpuTimeSupported()
  • ThreadMXBean.isThreadCpuTimeEnabled()
  • ThreadMXBean.setThreadCpuTimeEnabled(boolean)

getCurrentThreadAllocatedBytes

default long getCurrentThreadAllocatedBytes()
Возвращает приблизительное значение общего объема памяти в байтах, выделенной в куче памяти для текущего потока. Возвращаемое значение является приблизительным, потому что некоторые реализации виртуальных машин Java могут использовать механизмы выделения объектов, что приводит к задержке между временем выделения объекта и временем записи его размера.

Этот метод предназначен для использования в локальном управлении и эквивалентен вызову:

   getThreadAllocatedBytes(Thread.currentThread().getId());
 
Возвращает:
приблизительное значение общего объема выделенной памяти в байтах в куче памяти для текущего потока, если измерение выделения памяти потока включено; -1 в противном случае.
Выбрасывает:
UnsupportedOperationException - если реализация виртуальной машины Java не поддерживает измерение выделения памяти потока.
См. также:
  • isThreadAllocatedMemorySupported()
  • isThreadAllocatedMemoryEnabled()
  • setThreadAllocatedMemoryEnabled(boolean)

getThreadAllocatedBytes

long getThreadAllocatedBytes(long id)
Возвращает приблизительное значение общего объема памяти в байтах, выделенной в куче памяти для потока с указанным идентификатором. Возвращаемое значение является приблизительным, потому что некоторые реализации виртуальных машин Java могут использовать механизмы выделения объектов, что приводит к задержке между временем выделения объекта и временем записи его размера.

Если поток с указанным идентификатором не активен или не существует, этот метод возвращает -1. Если измерение выделения памяти потока отключено, этот метод возвращает -1. Поток активен, если он был запущен и еще не завершился.

Если измерение выделения памяти потока включено после запуска потока, реализация виртуальной машины Java может выбрать любое время до и включая момент включения возможности в качестве момента начала измерения выделения памяти потока.

Параметры:
id - идентификатор потока
Возвращает:
приблизительное значение общего объема выделенной памяти в байтах в куче памяти для потока с указанным идентификатором, если поток с указанным идентификатором существует, поток активен и измерение выделения памяти потока включено; -1 в противном случае.
Выбрасывает:
IllegalArgumentException - если id <= 0.
UnsupportedOperationException - если реализация виртуальной машины Java не поддерживает измерение выделения памяти потока.
См. также:
  • isThreadAllocatedMemorySupported()
  • isThreadAllocatedMemoryEnabled()
  • setThreadAllocatedMemoryEnabled(boolean)

getThreadAllocatedBytes

long[] getThreadAllocatedBytes(long[] ids)
Возвращает приблизительное значение общего объема памяти в байтах, выделенной в куче памяти для каждого потока, идентификатор которого указан в входном массиве ids. Возвращаемые значения являются приблизительными, потому что некоторые реализации виртуальных машин Java могут использовать механизмы выделения объектов, что приводит к задержке между временем выделения объекта и временем записи его размера.

Этот метод эквивалентен вызову метода getThreadAllocatedBytes(long) для каждого идентификатора потока во входном массиве ids и установке возвращаемого значения в соответствующий элемент возвращаемого массива.

Параметры:
ids - массив идентификаторов потоков.
Возвращает:
массив значений типа long, каждое из которых представляет собой приблизительное значение общего объема памяти в байтах, выделенной в куче памяти для потока, идентификатор которого указан в соответствующем элементе входного массива идентификаторов.
Выбрасывает:
NullPointerException - если ids равно null
IllegalArgumentException - если любой элемент во входном массиве ids имеет значение <= 0.
UnsupportedOperationException - если реализация виртуальной машины Java не поддерживает измерение выделения памяти потока.
См. также:
  • getThreadAllocatedBytes(long)
  • isThreadAllocatedMemorySupported()
  • isThreadAllocatedMemoryEnabled()
  • setThreadAllocatedMemoryEnabled(boolean)

isThreadAllocatedMemorySupported

boolean isThreadAllocatedMemorySupported()
Проверяет, поддерживает ли реализация виртуальной машины Java измерение выделения памяти потока.
Возвращает:
true если реализация виртуальной машины Java поддерживает измерение выделения памяти потока; false в противном случае.

isThreadAllocatedMemoryEnabled

boolean isThreadAllocatedMemoryEnabled()
Проверяет, включено ли измерение выделения памяти потока.
Возвращает:
true если измерение выделения памяти потока включено; false в противном случае.
Выбрасывает:
UnsupportedOperationException - если виртуальная машина Java не поддерживает измерение выделения памяти потока.
См. также:
  • isThreadAllocatedMemorySupported()

setThreadAllocatedMemoryEnabled

void setThreadAllocatedMemoryEnabled(boolean enable)
Включает или отключает измерение выделения памяти потока. Значение по умолчанию зависит от платформы.
Параметры:
enable - true для включения; false для отключения.
Выбрасывает:
UnsupportedOperationException - если виртуальная машина Java не поддерживает измерение выделения памяти потока.
SecurityException - если менеджер безопасности существует и у вызывающего объекта нет разрешения ManagementPermission("control").
См. также:
  • isThreadAllocatedMemorySupported()

© 1993, 2021, 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://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/ThreadMXBean.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API