- 所有超级接口:
-
PlatformManagedObject
热点虚拟机的诊断管理接口。
诊断MBean被注册到平台MBeanServer,就像其他平台MBeans一样。
用于在MBeanServer中唯一标识诊断MXBean的ObjectName
是:
com.sun.management:type=HotSpotDiagnostic
可以通过调用PlatformManagedObject.getObjectName()
方法来获取。除非另有说明,所有方法如果任何输入参数为null
都会抛出NullPointerException
。
- 参见:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
线程转储格式。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
将堆转储到与hprof堆转储相同格式的outputFile
文件中。default void
dumpThreads
(String outputFile, HotSpotDiagnosticMXBean.ThreadDumpFormat format) 在给定格式的文件中生成线程转储。返回所有诊断选项的VMOption
对象列表。getVMOption
(String name) 返回给定名称的VM选项的VMOption
对象。void
setVMOption
(String name, String value) 将给定名称的VM选项设置为指定值。Methods declared in interface java.lang.management.PlatformManagedObject
getObjectName
-
Method Details
-
dumpHeap
将堆转储到与hprof堆转储相同格式的outputFile
文件中。如果此方法从另一个进程远程调用,则堆转储输出将写入到运行目标VM的机器上名为
outputFile
的文件中。如果outputFile是相对路径,则相对于启动目标VM的工作目录。- 参数:
-
outputFile
- 系统相关的文件名 -
live
- 如果为true
,则仅转储活动对象,即可从其他对象访问的对象 - 抛出:
-
IOException
- 如果outputFile
已经存在,无法创建、打开或写入。 -
UnsupportedOperationException
- 如果不支持此操作。 -
IllegalArgumentException
- 如果outputFile
不以“.hprof”后缀结尾。 -
NullPointerException
- 如果outputFile
为null
。 -
SecurityException
- 如果存在安全管理器并且其SecurityManager.checkWrite(java.lang.String)
方法拒绝对命名文件的写访问或调用者没有ManagmentPermission("control")。
-
getDiagnosticOptions
返回所有诊断选项的VMOption
对象列表。诊断选项是一个可写
的VM选项,主要用于故障排除和诊断。- 返回:
-
所有诊断选项的
VMOption
对象列表。
-
getVMOption
返回给定名称的VM选项的VMOption
对象。- 返回:
-
给定名称的VM选项的
VMOption
对象。 - 抛出:
-
NullPointerException
- 如果名称为null
。 -
IllegalArgumentException
- 如果给定名称的VM选项不存在。
-
setVMOption
将给定名称的VM选项设置为指定值。新值将反映在由getVMOption(java.lang.String)
方法或getDiagnosticOptions()
方法返回的新VMOption
对象中。此方法不会更改此VMOption
对象的值。- 参数:
-
name
- VM选项的名称 -
value
- 要设置的VM选项的新值 - 抛出:
-
IllegalArgumentException
- 如果给定名称的VM选项不存在。 -
IllegalArgumentException
- 如果新值无效。 -
IllegalArgumentException
- 如果VM选项不可写。 -
NullPointerException
- 如果名称或值为null
。 -
SecurityException
- 如果存在安全管理器并且调用者没有ManagementPermission("control")。
-
dumpThreads
default void dumpThreads(String outputFile, HotSpotDiagnosticMXBean.ThreadDumpFormat format) throws IOException 在给定格式的文件中生成线程转储。outputFile
参数必须是不存在的文件的绝对路径。线程转储将包括所有平台线程的输出。它可能包括一些或所有虚拟线程的输出。
- API注释:
- 输出文件必须是绝对路径,因为MXBean可能从具有不同当前工作目录的工具或程序远程访问。
- 实现要求:
-
默认实现会抛出
UnsupportedOperationException
。 - 参数:
-
outputFile
- 要创建的文件的路径 -
format
- 要使用的格式 - 抛出:
-
IllegalArgumentException
- 如果文件路径不是绝对的 -
IOException
- 如果文件已经存在或写入文件时抛出I/O异常 -
NullPointerException
- 如果任一参数为null
-
SecurityException
- 如果设置了安全管理器并且其SecurityManager.checkWrite(java.lang.String)
方法拒绝对文件的写访问或拒绝ManagementPermission("control")
-
UnsupportedOperationException
- 如果不支持此操作 - 自:
- 21
-