java.lang.management

接口
异常
public interface RuntimeMXBean

Java 虚拟机的运行时系统的管理接口。

Java 虚拟机具有此接口的实现类的单一实例。实现此接口的实例是一个 MXBean,它可以通过调用 ManagementFactory.getRuntimeMXBean() 方法或从平台 MBeanServer 方法获得。

在 MBeanServer 中唯一标识运行时系统的 MXBean 的 ObjectName 为:

java.lang:type=Runtime

此接口定义了几种便捷的方法,可用于访问有关 Java 虚拟机的系统属性。

从以下版本开始:
1.5
另请参见:
JMX Specification., 访问 MXBeans 的方式

方法摘要
 String getBootClassPath()
          返回由引导类加载器用于搜索类文件的引导类路径。
 String getClassPath()
          返回系统类加载器用于搜索类文件的 Java 类路径。
 List<String> getInputArguments()
          返回传递给 Java 虚拟机的输入变量,其中不包括传递给 main 方法的变量。
 String getLibraryPath()
          返回 Java 库路径。
 String getManagementSpecVersion()
          返回正在运行的 Java 虚拟机实现的管理接口的规范版本。
 String getName()
          返回表示正在运行的 Java 虚拟机的名称。
 String getSpecName()
          返回 Java 虚拟机规范名称。
 String getSpecVendor()
          返回 Java 虚拟机规范供应商。
 String getSpecVersion()
          返回 Java 虚拟机规范版本。
 long getStartTime()
          返回 Java 虚拟机的启动时间(以毫秒为单位)。
 Map<String,String> getSystemProperties()
          返回所有系统属性的名称和值的映射。
 long getUptime()
          返回 Java 虚拟机的正常运行时间(以毫秒为单位)。
 String getVmName()
          返回 Java 虚拟机实现名称。
 String getVmVendor()
          返回 Java 虚拟机实现供应商。
 String getVmVersion()
          返回 Java 虚拟机实现版本。
 boolean isBootClassPathSupported()
          测试 Java 虚拟机是否支持由引导类加载器用于搜索类文件的引导类路径机制。
 

方法详细信息

getName

String getName()
返回表示正在运行的 Java 虚拟机的名称。返回的名称字符串可以为任何任意字符串,Java 虚拟机实现可以选择在返回的名称字符串中嵌入特定于平台的有用信息。每个正在的运行的虚拟机可以具有不同的名称。

返回:
表示正在运行的 Java 虚拟机的名称。

getVmName

String getVmName()
返回 Java 虚拟机实现名称。此方法等效于 System.getProperty("java.vm.name")

返回:
Java 虚拟机实现名称。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问此系统属性。
另请参见:
SecurityManager.checkPropertyAccess(java.lang.String), System.getProperty(java.lang.String)

getVmVendor

String getVmVendor()
返回 Java 虚拟机实现供应商。此方法等效于 System.getProperty("java.vm.vendor")

返回:
Java 虚拟机实现供应商。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问此系统属性。
另请参见:
SecurityManager.checkPropertyAccess(java.lang.String), System.getProperty(java.lang.String)

getVmVersion

String getVmVersion()
返回 Java 虚拟机实现版本。此方法等效于 System.getProperty("java.vm.version")

返回:
Java 虚拟机实现版本。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问此系统属性。
另请参见:
SecurityManager.checkPropertyAccess(java.lang.String), System.getProperty(java.lang.String)

getSpecName

String getSpecName()
返回 Java 虚拟机规范名称。此方法等效于 System.getProperty("java.vm.specification.name")

返回:
Java 虚拟机规范名称。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问此系统属性。
另请参见:
SecurityManager.checkPropertyAccess(java.lang.String), System.getProperty(java.lang.String)

getSpecVendor

String getSpecVendor()
返回 Java 虚拟机规范供应商。此方法等效于 System.getProperty("java.vm.specification.vendor")

返回:
Java 虚拟机规范供应商。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问此系统属性。
另请参见:
SecurityManager.checkPropertyAccess(java.lang.String), System.getProperty(java.lang.String)

getSpecVersion

String getSpecVersion()
返回 Java 虚拟机规范版本。此方法等效于 System.getProperty("java.vm.specification.version")

返回:
Java 虚拟机规范版本。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问此系统属性。
另请参见:
SecurityManager.checkPropertyAccess(java.lang.String), System.getProperty(java.lang.String)

getManagementSpecVersion

String getManagementSpecVersion()
返回正在运行的 Java 虚拟机实现的管理接口的规范版本。

返回:
正在运行的 Java 虚拟机实现的管理接口的规范版本。

getClassPath

String getClassPath()
返回系统类加载器用于搜索类文件的 Java 类路径。此方法等效于 System.getProperty("java.class.path")

Java 类路径中的多个路径由所监视的 Java 虚拟机平台的路径分隔符字符进行分隔。

返回:
Java 类路径。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问此系统属性。
另请参见:
SecurityManager.checkPropertyAccess(java.lang.String), System.getProperty(java.lang.String)

getLibraryPath

String getLibraryPath()
返回 Java 库路径。此方法等效于 System.getProperty("java.library.path")

Java 库路径中的多个路径由所监视的 Java 虚拟机平台的路径分隔符字符进行分隔。

返回:
Java 库路径。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问此系统属性。
另请参见:
SecurityManager.checkPropertyAccess(java.lang.String), System.getProperty(java.lang.String)

isBootClassPathSupported

boolean isBootClassPathSupported()
测试 Java 虚拟机是否支持由引导类加载器用于搜索类文件的引导类路径机制。

返回:
如果 Java 虚拟机支持此类路径机制,则返回 true;否则返回 false

getBootClassPath

String getBootClassPath()
返回由引导类加载器用于搜索类文件的引导类路径。

引导类路径中的多个路径由平台(Java 虚拟机在其上运行)的路径分隔符字符进行分隔。

Java 虚拟机实现可能不支持引导类加载器用于搜索类文件的引导类路径机制。isBootClassPathSupported() 方法可用于确定 Java 虚拟机是否支持此方法。

返回:
引导类路径。
抛出:
UnsupportedOperationException - 如果 Java 虚拟机不支持此操作。
SecurityException - 如果存在安全管理器,且调用方不具有 ManagementPermission("monitor")。

getInputArguments

List<String> getInputArguments()
返回传递给 Java 虚拟机的输入变量,其中不包括传递给 main 方法的变量。如果没有传递给 Java 虚拟机的输入变量,则此方法将返回一个空列表。

有些 Java 虚拟机实现可能从多个不同源获取输入变量:例如,从启动 Java 虚拟机的应用程序传递的变量,如“java”命令、环境变量、配置文件等。

通常,并非所有的“java”命令的命令行选项都会传递给 Java 虚拟机。因此,返回的输入变量中可能不包括所有命令行选项。

MBeanServer 访问
List 的映射类型为 String[]

返回:
String 对象列表;每个元素都是传递给 Java 虚拟机的变量。
抛出:
SecurityException - 如果存在安全管理器,且调用方不具有 ManagementPermission("monitor")。

getUptime

long getUptime()
返回 Java 虚拟机的正常运行时间(以毫秒为单位)。

返回:
Java 虚拟机的正常运行时间(以毫秒为单位)。

getStartTime

long getStartTime()
返回 Java 虚拟机的启动时间(以毫秒为单位)。此方法返回 Java 虚拟机启动的近似时间。

返回:
Java 虚拟机的启动时间(以毫秒为单位)。

getSystemProperties

Map<String,String> getSystemProperties()
返回所有系统属性的名称和值的映射。此方法将调用 System.getProperties() 来获取所有系统属性。省略名称或值不为 String 的属性。

MBeanServer 访问
Map 的映射类型为每行具有两个项的 TabularData,如下所示:

项名称 项类型
key String
value String

返回:
所有系统属性的名称和值的映射。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问系统属性。