- 所有父级接口:
PlatformManagedObject
Java 虚拟机运行时系统的管理接口。
Java 虚拟机具有此接口的实现类的单个实例。实现此接口的实例是一个 MXBean,可以通过调用 ManagementFactory.getRuntimeMXBean() 方法或从 platform MBeanServer 方法获得。
用于在 MBeanServer 中为运行时系统唯一标识 MXBean 的 ObjectName 是:
java.lang:type=Runtime
可以通过调用PlatformManagedObject.getObjectName() 方法获取。
该接口定义了几种方便的方法来访问有关 Java 虚拟机的系统属性。
- 自从:
- 1.5
- 参见:
-
方法总结
修饰符和类型方法描述返回引导类加载器用于搜索类文件的引导类路径。返回系统类加载器用于搜索类文件的 Java 类路径。返回传递给 Java 虚拟机的输入参数,其中不包括main方法的参数。返回 Java 库路径。返回由正在运行的 Java 虚拟机实现的管理接口规范的版本。getName()返回表示正在运行的 Java 虚拟机的名称。default longgetPid()返回表示正在运行的 Java 虚拟机的 进程号。返回 Java 虚拟机规范名称。返回 Java 虚拟机规范供应商。返回 Java 虚拟机规范版本。long以毫秒为单位返回 Java 虚拟机的启动时间。返回所有系统属性的名称和值的映射。long以毫秒为单位返回 Java 虚拟机的正常运行时间。返回 Java 虚拟机实现名称。返回 Java 虚拟机实现供应商。返回 Java 虚拟机实现版本。boolean测试 Java 虚拟机是否支持引导类加载器用于搜索类文件的引导类路径机制。在接口 java.lang.management.PlatformManagedObject 中声明的方法
getObjectName
-
方法详情
-
getPid
default long getPid()返回表示正在运行的 Java 虚拟机的 进程号。- 实现要求:
-
默认实现返回
process ID的process ID。 - 返回:
- 表示正在运行的 Java 虚拟机的进程 ID。
- 自从:
- 10
-
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 虚拟机是否支持引导类加载器用于搜索类文件的引导类路径机制。- 返回:
true如果Java虚拟机支持类路径机制;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,每行有两个项目,如下所示:项目名 物品种类 keyStringvalueString- 返回:
- 所有系统属性的名称和值的映射。
- 抛出:
SecurityException- 如果安全管理器存在且其checkPropertiesAccess方法不允许访问系统属性。
-