|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.management
类 ManagementFactory
java.lang.Object java.lang.management.ManagementFactory
-
public class ManagementFactory
- extends Object
ManagementFactory 类是一种工厂类,用于获取 Java 平台的托管 Bean。此类由静态方法组成,每种静态方法都会返回一个或多个表示 Java 虚拟机组件的管理接口的平台 MXBean。
应用程序可以采用以下方式访问平台 MXBean:
- 直接访问 MXBean 接口
- 通过静态工厂方法获得 MXBean 实例,从本地访问正在运行的虚拟机的 MXBean。
- 构造一个 MXBean 代理实例,以通过调用
newPlatfromMXBeanProxy
将方法调用转发到给定的MBeanServer
。构造代理通常是为了远程访问另一个正在运行的虚拟机的 MXBean。
- 通过 MBeanServer 间接地访问 MXBean 接口
- 通过
平台 MBeanServer
本地访问 MXBean 或通过特定的 MBeanServerConnection 远程访问 MXBean。MXBean 的属性和操作仅使用 JMX 开放类型,包括在OpenType
中定义的基本数据类型CompositeData
和TabularData
。映射关系在下面指定。
- 通过
平台 MXBean
平台 MXBean 是一种托管 Bean,它符合 JMX Instrumentation Specification,仅使用以下所描述的一组基本数据类型。JMX 管理应用程序和平台 MBeanServer 可以进行互操作,而无需 MXBean 特定数据类型的类。JMX 连接器服务器和连接器客户机之间传送的数据类型为开放类型
,而这就允许不同版本进行互操作。
平台 MXBean 接口仅使用以下数据类型:
- 基本类型,如 int、long、boolean 等等
- 基本类型的包装器类(如
Integer
、Long
、Boolean
等等)和String
Enum
类- 仅定义 getter 方法和具有
CompositeData
参数的静态 from 方法的类,以便将输入的 CompositeData 转换为该类的实例 List<E>
其中 E 为基本类型、包装类、枚举类或支持从 CompositeData 转换到此类的类Map<K,V>
其中 K 和 V 为基本类型、包装类、枚举类或支持从 CompositeData 转换到此类的类
当通过 MBeanServer 访问平台 MXBean 的属性或操作时,将按以下方式对数据类型进行映射:
- 基本类型或包装器类映射到相同的类型。
Enum
映射到 String(其值为枚举常数的名称)。- 仅定义 getter 方法和具有
CompositeData
参数的 from 方法的类映射到CompositeData
。 - Map<K,V> 映射到
TabularData
,后者的行类型为CompositeType
,此类型具有两个项,其名称分别为 "key" 和 "value",项类型分别为 K 和 V 对应的映射类型,"key" 为索引。 - List<E> 映射到数组,该数组中的元素类型为 E 的映射类型。
- 元素类型为 E 的数组映射到具有相同维数的数组,该数组的元素类型为 E 的映射类型。
MBeanInfo
将属性和操作的数据类型描述为上述指定要映射到的基本类型或开放类型。
例如,MemoryMXBean
接口具有以下 getter 和 setter 方法:
MemoryMXBean 的 MBeanInfo 中的这些属性的名称和类型如下:public MemoryUsage getHeapMemoryUsage(); public boolean isVerbose(); public void setVerbose(boolean value);
属性名称 类型 HeapMemoryUsage CompositeData representing MemoryUsage
Verbose boolean
实现注意事项:
上面指定的映射可以在每个平台 MXBean 的实现中完成。一个不错的实现选择就是将 MXBean 作为动态 MBean
实现。
MXBean 名称
Java 虚拟机的每个平台 MXBean 都具有惟一的ObjectName
,以在平台 MBeanServer 中注册。Java 虚拟机具有以下管理接口的单一实例:
Java 虚拟机具有以下管理接口的零个或一个实例:
管理接口 对象名称 CompilationMXBean
java.lang:type=Compilation
Java 虚拟机可能具有以下管理接口的一个或多个实例。
管理接口 对象名称 GarbageCollectorMXBean
java.lang:type=GarbageCollector
,name=collector's nameMemoryManagerMXBean
java.lang:type=MemoryManager
,name=manager's nameMemoryPoolMXBean
java.lang:type=MemoryPool
,name=pool's name
- 从以下版本开始:
- 1.5
- 另请参见:
-
JMX Specification., Access Management Metrics,
LoggingMXBean
字段摘要 | |
---|---|
static String |
CLASS_LOADING_MXBEAN_NAME ClassLoadingMXBean 的 ObjectName 的字符串表示形式。 |
static String |
COMPILATION_MXBEAN_NAME CompilationMXBean 的 ObjectName 的字符串表示形式。 |
static String |
GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE GarbageCollectorMXBean 的 ObjectName 中的域名和类型键属性。 |
static String |
MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE MemoryManagerMXBean 的 ObjectName 中的域名和类型键属性。 |
static String |
MEMORY_MXBEAN_NAME MemoryMXBean 的 ObjectName 的字符串表示形式。 |
static String |
MEMORY_POOL_MXBEAN_DOMAIN_TYPE MemoryPoolMXBean 的 ObjectName 中的域名和类型键属性。 |
static String |
OPERATING_SYSTEM_MXBEAN_NAME OperatingSystemMXBean 的 ObjectName 的字符串表示形式。 |
static String |
RUNTIME_MXBEAN_NAME RuntimeMXBean 的 ObjectName 的表示形式。 |
static String |
THREAD_MXBEAN_NAME ThreadMXBean 的 ObjectName 的字符串表示形式。 |
方法摘要 | ||
---|---|---|
static ClassLoadingMXBean |
getClassLoadingMXBean() 返回 Java 虚拟机的类加载系统的托管 Bean。 |
|
static CompilationMXBean |
getCompilationMXBean() 返回 Java 虚拟机的编译系统的托管 Bean。 |
|
static List<GarbageCollectorMXBean> |
getGarbageCollectorMXBeans() 返回 Java 虚拟机中的 GarbageCollectorMXBean 对象列表。 |
|
static List<MemoryManagerMXBean> |
getMemoryManagerMXBeans() 返回 Java 虚拟机中的 MemoryManagerMXBean 对象列表。 |
|
static MemoryMXBean |
getMemoryMXBean() 返回 Java 虚拟机的内存系统的托管 Bean。 |
|
static List<MemoryPoolMXBean> |
getMemoryPoolMXBeans() 返回 Java 虚拟机中的 MemoryPoolMXBean 对象列表。 |
|
static OperatingSystemMXBean |
getOperatingSystemMXBean() 返回运行 Java 虚拟机的操作系统的托管 Bean。 |
|
static MBeanServer |
getPlatformMBeanServer() 返回平台 MBeanServer 。 |
|
static RuntimeMXBean |
getRuntimeMXBean() 返回 Java 虚拟机的运行时系统的托管 Bean。 |
|
static ThreadMXBean |
getThreadMXBean() 返回 Java 虚拟机的线程系统的托管 Bean。 |
|
static
|
newPlatformMXBeanProxy(MBeanServerConnection connection, String mxbeanName, Class<T> mxbeanInterface) 返回用于给定 MXBean 名称的平台 MXBean 接口的代理,以便通过给定 MBeanServerConnection 转发其方法调用。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
CLASS_LOADING_MXBEAN_NAME
public static final String CLASS_LOADING_MXBEAN_NAME
-
ClassLoadingMXBean
的 ObjectName 的字符串表示形式。- 另请参见:
- 常量字段值
COMPILATION_MXBEAN_NAME
public static final String COMPILATION_MXBEAN_NAME
-
CompilationMXBean
的 ObjectName 的字符串表示形式。- 另请参见:
- 常量字段值
MEMORY_MXBEAN_NAME
public static final String MEMORY_MXBEAN_NAME
-
MemoryMXBean
的 ObjectName 的字符串表示形式。- 另请参见:
- 常量字段值
OPERATING_SYSTEM_MXBEAN_NAME
public static final String OPERATING_SYSTEM_MXBEAN_NAME
-
OperatingSystemMXBean
的 ObjectName 的字符串表示形式。- 另请参见:
- 常量字段值
RUNTIME_MXBEAN_NAME
public static final String RUNTIME_MXBEAN_NAME
-
RuntimeMXBean
的 ObjectName 的表示形式。- 另请参见:
- 常量字段值
THREAD_MXBEAN_NAME
public static final String THREAD_MXBEAN_NAME
-
ThreadMXBean
的 ObjectName 的字符串表示形式。- 另请参见:
- 常量字段值
GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
public static final String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE
-
GarbageCollectorMXBean
的 ObjectName 中的域名和类型键属性。GarbageCollectorMXBean 的惟一 ObjectName 可以通过在此字符串后附加 ",name=collector's name" 形成。- 另请参见:
- 常量字段值