- 所有超级接口:
-
PlatformManagedObject
Java虚拟机的运行时系统的管理接口。
Java虚拟机有一个实现此接口的实现类的单个实例。实现此接口的实例是一个MXBean,可以通过调用ManagementFactory.getRuntimeMXBean()
方法或从platform MBeanServer
方法获取。
用于在MBeanServer中唯一标识运行时系统的MXBean的ObjectName
是:
java.lang:type=Runtime
可以通过调用PlatformManagedObject.getObjectName()
方法获取。
此接口定义了几种方便的方法,用于访问有关Java虚拟机的系统属性。
- 自1.5版本起:
- 参见:
-
Method Summary
Modifier and TypeMethodDescription返回由引导类加载器用于搜索类文件的引导类路径。返回由系统类加载器用于搜索类文件的Java类路径。返回传递给Java虚拟机的输入参数,不包括main
方法的参数。返回Java库路径。返回运行Java虚拟机的管理接口规范的版本。getName()
返回表示正在运行的Java虚拟机的名称。default long
getPid()
返回表示正在运行的Java虚拟机的进程ID。返回Java虚拟机规范名称。返回Java虚拟机规范供应商。返回Java虚拟机规范版本。long
返回Java虚拟机的启动时间(以毫秒为单位)。返回所有系统属性的名称和值的映射。long
返回Java虚拟机的运行时间(以毫秒为单位)。返回Java虚拟机实现名称。返回Java虚拟机实现供应商。返回Java虚拟机实现版本。boolean
测试Java虚拟机是否支持引导类路径机制,该机制由引导类加载器用于搜索类文件。Methods declared in interface java.lang.management.PlatformManagedObject
getObjectName
-
Method Details
-
getPid
default long getPid()返回表示正在运行的Java虚拟机的进程ID。 -
getName
String getName()返回表示正在运行的Java虚拟机的名称。返回的名称字符串可以是任意字符串,Java虚拟机实现可以选择在返回的名称字符串中嵌入特定于平台的有用信息。每个运行的虚拟机可能具有不同的名称。- 返回:
- 表示正在运行的Java虚拟机的名称。
-
getVmName
String getVmName()返回Java虚拟机实现名称。此方法等效于System.getProperty("java.vm.name")
。- 返回:
- Java虚拟机实现名称。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问此系统属性。 - 参见:
-
getVmVendor
String getVmVendor()返回Java虚拟机实现供应商。此方法等效于System.getProperty("java.vm.vendor")
。- 返回:
- Java虚拟机实现供应商。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问此系统属性。 - 参见:
-
getVmVersion
String getVmVersion()返回Java虚拟机实现版本。此方法等效于System.getProperty("java.vm.version")
。- 返回:
- Java虚拟机实现版本。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问此系统属性。 - 参见:
-
getSpecName
String getSpecName()返回Java虚拟机规范名称。此方法等效于System.getProperty("java.vm.specification.name")
。- 返回:
- Java虚拟机规范名称。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问此系统属性。 - 参见:
-
getSpecVendor
String getSpecVendor()返回Java虚拟机规范供应商。此方法等效于System.getProperty("java.vm.specification.vendor")
。- 返回:
- Java虚拟机规范供应商。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问此系统属性。 - 参见:
-
getSpecVersion
String getSpecVersion()返回Java虚拟机规范版本。此方法等效于System.getProperty("java.vm.specification.version")
。- 返回:
- Java虚拟机规范版本。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问此系统属性。 - 参见:
-
getManagementSpecVersion
String getManagementSpecVersion()返回正在运行的Java虚拟机实现的管理接口规范的版本。- 返回:
- 正在运行的Java虚拟机实现的管理接口规范的版本。
-
getClassPath
String getClassPath()返回由系统类加载器用于搜索类文件的Java类路径。此方法等效于System.getProperty("java.class.path")
。Java类路径中的多个路径由监视的Java虚拟机的平台的路径分隔符字符分隔。
- 返回:
- Java类路径。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问此系统属性。 - 参见:
-
getLibraryPath
String getLibraryPath()返回Java库路径。此方法等效于System.getProperty("java.library.path")
。Java库路径中的多个路径由监视的Java虚拟机平台的路径分隔符字符分隔。
- 返回:
- Java库路径。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问此系统属性。 - 参见:
-
isBootClassPathSupported
boolean isBootClassPathSupported()检查Java虚拟机是否支持引导类路径机制,该机制由引导类加载器用于搜索类文件。- 返回:
-
如果Java虚拟机支持类路径机制,则返回
true
;否则返回false
。
-
getBootClassPath
String getBootClassPath()返回引导类路径,该路径由引导类加载器用于搜索类文件。引导类路径中的多个路径由Java虚拟机运行的平台的路径分隔符字符分隔。
Java虚拟机实现可能不支持引导类路径机制,用于引导类加载器搜索类文件。可以使用
isBootClassPathSupported()
方法来确定Java虚拟机是否支持此方法。- 返回:
- 引导类路径。
- 抛出:
-
UnsupportedOperationException
- 如果Java虚拟机不支持此操作。 -
SecurityException
- 如果存在安全管理器并且调用者没有ManagementPermission("monitor")。
-
getInputArguments
返回传递给Java虚拟机的输入参数,不包括main
方法的参数。如果Java虚拟机没有输入参数,则此方法返回一个空列表。一些Java虚拟机实现可能从多个不同的来源获取输入参数:例如,从启动Java虚拟机的应用程序传递的参数,如'java'命令,环境变量,配置文件等。
通常,并非所有'java'命令的命令行选项都会传递给Java虚拟机。因此,返回的输入参数可能不包括所有命令行选项。
MBeanServer访问:
List<String>
的映射类型是String[]
。- 返回:
-
一个
String
对象列表;每个元素都是传递给Java虚拟机的参数。 - 抛出:
-
SecurityException
- 如果存在安全管理器并且调用者没有ManagementPermission("monitor")。
-
getUptime
long getUptime()返回Java虚拟机的运行时间(以毫秒为单位)。- 返回:
- Java虚拟机的运行时间(以毫秒为单位)。
-
getStartTime
long getStartTime()返回Java虚拟机的启动时间(以毫秒为单位)。此方法返回Java虚拟机启动的大致时间。- 返回:
- Java虚拟机的启动时间(以毫秒为单位)。
-
getSystemProperties
返回所有系统属性的名称和值的映射。此方法调用System.getProperties()
以获取所有系统属性。名称或值不是String
的属性将被省略。MBeanServer访问:
Map<String,String>
的映射类型是TabularData
,每行中有两个项目,如下所示:项目名称 项目类型 key
String
value
String
- 返回:
- 所有系统属性的名称和值的映射。
- 抛出:
-
SecurityException
- 如果存在安全管理器并且其checkPropertiesAccess
方法不允许访问系统属性。
-