Spec-Zone.ru › OpenJDK 27

Интерфейс HotSpotDiagnosticMXBean

Все суперинтерфейсы:
PlatformManagedObject
public interface HotSpotDiagnosticMXBean extends PlatformManagedObject
Интерфейс управления диагностикой виртуальной машины HotSpot.

Диагностический MBean регистрируется на платформенном MBeanServer, как и другие платформенные MBean.

ObjectName для уникальной идентификации диагностического MXBean в MBeanServer:

com.sun.management:type=HotSpotDiagnostic
Его можно получить, вызвав метод PlatformManagedObject.getObjectName(). Все методы выбрасывают NullPointerException, если любой входной аргумент равен null, если не указано иное.
Начиная с версии:
1.6
См. также:
  • ManagementFactory.getPlatformMXBeans(Class)

Краткое описание вложенных классов

Модификатор и тип Интерфейс Описание
static enum  HotSpotDiagnosticMXBean.ThreadDumpFormat
Формат дампа потоков.

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

Модификатор и тип Метод Описание
void dumpHeap(String outputFile, boolean live)
Сохраняет дамп кучи в файл outputFile в том же формате, что и дамп кучи hprof.
default void dumpThreads(String outputFile, HotSpotDiagnosticMXBean.ThreadDumpFormat format)
Создает дамп потоков в указанном файле в заданном формате.
List<VMOption> getDiagnosticOptions()
Возвращает список объектов VMOption для всех диагностических параметров.
VMOption getVMOption(String name)
Возвращает объект VMOption для параметра виртуальной машины с указанным именем.
void setVMOption(String name, String value)
Задает параметру виртуальной машины с указанным именем указанное значение.

Методы, объявленные в интерфейсе PlatformManagedObject

getObjectName
Модификатор и тип Метод Описание
ObjectName getObjectName()
Возвращает экземпляр ObjectName, представляющий имя объекта этого платформенного управляемого объекта.

Подробное описание методов

dumpHeap

void dumpHeap(String outputFile, boolean live) throws IOException
Сохраняет дамп кучи в файл outputFile в том же формате, что и дамп кучи hprof.

Если этот метод вызывается удаленно из другого процесса, результат дампа кучи записывается в файл с именем outputFile на компьютере, где запущена целевая виртуальная машина. Если outputFile — относительный путь, он указывается относительно рабочего каталога, из которого была запущена целевая виртуальная машина.

Параметры:
outputFile — имя файла, зависящее от системы
live — если true, сохранять только живые объекты, то есть объекты, достижимые из других объектов
Исключения:
IOException — если outputFile уже существует, не может быть создан, открыт или записан.
UnsupportedOperationException — если эта операция не поддерживается.
IllegalArgumentException — если outputFile не заканчивается суффиксом ".hprof".
NullPointerException — если outputFile равно null.

getDiagnosticOptions

List<VMOption> getDiagnosticOptions()
Возвращает список объектов VMOption для всех диагностических параметров. Диагностический параметр — это параметр виртуальной машины, доступный для записи (writeable), который можно динамически задавать преимущественно для устранения неполадок и диагностики.
Возвращает:
список объектов VMOption для всех диагностических параметров.

getVMOption

VMOption getVMOption(String name)
Возвращает объект VMOption для параметра виртуальной машины с указанным именем.
Возвращает:
объект VMOption для параметра виртуальной машины с указанным именем.
Исключения:
NullPointerException — если name равно null.
IllegalArgumentException — если параметр виртуальной машины с указанным именем не существует.

setVMOption

void setVMOption(String name, String value)
Задает параметру виртуальной машины с указанным именем указанное значение. Новое значение будет отражено в новом объекте VMOption, возвращаемом методом getVMOption(String) или методом getDiagnosticOptions(). Этот метод не изменяет значение данного объекта VMOption.
Параметры:
name — имя параметра виртуальной машины
value — новое значение параметра виртуальной машины
Исключения:
IllegalArgumentException — если параметр виртуальной машины с указанным именем не существует.
IllegalArgumentException — если новое значение недопустимо.
IllegalArgumentException — если параметр виртуальной машины недоступен для записи.
NullPointerException — если name или value равно null.

dumpThreads

default void dumpThreads(String outputFile, HotSpotDiagnosticMXBean.ThreadDumpFormat format) throws IOException
Создает дамп потоков в указанном файле в заданном формате. Параметр outputFile должен содержать абсолютный путь к несуществующему файлу.

Если в качестве формата указан JSON, дамп потоков создается в виде текста JSON в формате JSON для дампа потоков.

Дамп потоков будет содержать данные обо всех платформенных потоках. Он может содержать данные о некоторых или всех виртуальных потоках.

Примечание к API:
В качестве выходного файла требуется указать абсолютный путь, поскольку доступ к MXBean может выполняться удаленно из инструмента или программы с другим текущим рабочим каталогом.
Требования к реализации:
Реализация по умолчанию выбрасывает UnsupportedOperationException.
Параметры:
outputFile — путь к создаваемому файлу
format — используемый формат
Исключения:
IllegalArgumentException — если путь к файлу не является абсолютным
IOException — если файл уже существует или при записи в файл возникает исключение ввода-вывода
NullPointerException — если любой из параметров равен null
UnsupportedOperationException — если эта операция не поддерживается
Начиная с версии:
21

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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