public interface RuntimeMXBean
Java 虚拟机的运行时系统的管理接口。
Java 虚拟机具有此接口的实现类的单一实例。实现此接口的实例是一个 MXBean,它可以通过调用 ManagementFactory.getRuntimeMXBean()
方法或从平台 MBeanServer
方法获得。
在 MBeanServer 中唯一标识运行时系统的 MXBean 的 ObjectName 为:
java.lang:type=Runtime
此接口定义了几种便捷的方法,可用于访问有关 Java 虚拟机的系统属性。
方法摘要 | |
---|---|
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 虚拟机是否支持由引导类加载器用于搜索类文件的引导类路径机制。 |
方法详细信息 |
---|
String getName()
String getVmName()
System.getProperty("java.vm.name")
。
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问此系统属性。
SecurityManager.checkPropertyAccess(java.lang.String)
,
System.getProperty(java.lang.String)
String getVmVendor()
System.getProperty("java.vm.vendor")
。
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问此系统属性。
SecurityManager.checkPropertyAccess(java.lang.String)
,
System.getProperty(java.lang.String)
String getVmVersion()
System.getProperty("java.vm.version")
。
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问此系统属性。
SecurityManager.checkPropertyAccess(java.lang.String)
,
System.getProperty(java.lang.String)
String getSpecName()
System.getProperty("java.vm.specification.name")
。
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问此系统属性。
SecurityManager.checkPropertyAccess(java.lang.String)
,
System.getProperty(java.lang.String)
String getSpecVendor()
System.getProperty("java.vm.specification.vendor")
。
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问此系统属性。
SecurityManager.checkPropertyAccess(java.lang.String)
,
System.getProperty(java.lang.String)
String getSpecVersion()
System.getProperty("java.vm.specification.version")
。
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问此系统属性。
SecurityManager.checkPropertyAccess(java.lang.String)
,
System.getProperty(java.lang.String)
String getManagementSpecVersion()
String getClassPath()
System.getProperty("java.class.path")
。
Java 类路径中的多个路径由所监视的 Java 虚拟机平台的路径分隔符字符进行分隔。
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问此系统属性。
SecurityManager.checkPropertyAccess(java.lang.String)
,
System.getProperty(java.lang.String)
String getLibraryPath()
System.getProperty("java.library.path")
。
Java 库路径中的多个路径由所监视的 Java 虚拟机平台的路径分隔符字符进行分隔。
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问此系统属性。
SecurityManager.checkPropertyAccess(java.lang.String)
,
System.getProperty(java.lang.String)
boolean isBootClassPathSupported()
String getBootClassPath()
引导类路径中的多个路径由平台(Java 虚拟机在其上运行)的路径分隔符字符进行分隔。
Java 虚拟机实现可能不支持引导类加载器用于搜索类文件的引导类路径机制。isBootClassPathSupported()
方法可用于确定 Java 虚拟机是否支持此方法。
UnsupportedOperationException
- 如果 Java 虚拟机不支持此操作。
SecurityException
- 如果存在安全管理器,且调用方不具有 ManagementPermission("monitor")。
List<String> getInputArguments()
有些 Java 虚拟机实现可能从多个不同源获取输入变量:例如,从启动 Java 虚拟机的应用程序传递的变量,如“java”命令、环境变量、配置文件等。
通常,并非所有的“java”命令的命令行选项都会传递给 Java 虚拟机。因此,返回的输入变量中可能不包括所有命令行选项。
MBeanServer 访问:
List
SecurityException
- 如果存在安全管理器,且调用方不具有 ManagementPermission("monitor")。
long getUptime()
long getStartTime()
Map<String,String> getSystemProperties()
System.getProperties()
来获取所有系统属性。省略名称或值不为
String 的属性。
MBeanServer 访问:
Map
TabularData
,如下所示:
项名称 项类型 key String value String
SecurityException
- 如果安全管理器存在并且其
checkPropertiesAccess
方法不允许访问系统属性。