Package java.lang.management

Provides the management interfaces for monitoring and management of the
Java virtual machine and other components in the Java runtime.
It allows both local and remote
monitoring and management of the running Java virtual machine.

A platform MXBean is a managed bean that
conforms to the JMX
Instrumentation Specification and only uses a set of basic data types.
Each platform MXBean is a PlatformManagedObject
with a unique
name.

ManagementFactory

The ManagementFactory class is the management
factory class for the Java platform. This class provides a set of
static factory methods to obtain the MXBeans for the Java platform
to allow an application to access the MXBeans directly.

A platform MBeanServer can be accessed with the
getPlatformMBeanServer method. On the first call to this method,
it creates the platform MBeanServer and registers all platform MXBeans
including platform MXBeans.
Each platform MXBean is registered with a unique name defined in
the specification of the management interface.
This is a single MBeanServer that can be shared by different managed
components running within the same Java virtual machine.

Interoperability

A management application and a platform MBeanServer of a running
virtual machine can interoperate
without requiring classes used by the platform MXBean interfaces.
The data types being transmitted between the JMX connector
server and the connector client are JMX
open types and
this allows interoperation across versions.
A data type used by the MXBean interfaces are mapped to an
open type when being accessed via MBeanServer interface.
See the
MXBean specification for details.

Go through the
platform MBeanServer to access MXBeans locally or
a specific MBeanServerConnection to access
MXBeans remotely.
The attributes and operations of an MXBean use only
JMX open types which include basic data types,
CompositeData,
and TabularData
defined in OpenType.

A Java virtual machine implementation may add its platform extension to
the management interface by defining platform-dependent
interfaces that extend the standard management interfaces to include
platform-specific metrics and management operations.
The static factory methods in the ManagementFactory class will
return the MXBeans with the platform extension.

It is recommended to name the platform-specific attributes with
a vendor-specific prefix such as the vendor's name to
avoid collisions of the attribute name between the future extension
to the standard management interface and the platform extension.
If the future extension to the standard management interface defines
a new attribute for a management interface and the attribute name
is happened to be same as some vendor-specific attribute's name,
the applications accessing that vendor-specific attribute would have
to be modified to cope with versioning and compatibility issues.

Below is an example showing how to access an attribute
from the platform extension: