APIdia Launch Partner
Top Description Interfaces Classes Enums
module java.management

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.

Platform MXBean

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 java.lang.management.PlatformManagedObject with a unique name.

ManagementFactory

The java.lang.management.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.

Ways to Access MXBeans

An application can monitor the instrumentation of the Java virtual machine and the runtime in the following ways:

1. Direct access to an MXBean interface

2. Indirect access to an MXBean interface via MBeanServer

Platform Extension

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:

1) Direct access to the Oracle-specific MXBean interface

   List<com.sun.management.GarbageCollectorMXBean> mxbeans =
       ManagementFactory.getPlatformMXBeans(com.sun.management.GarbageCollectorMXBean.class);

   for (com.sun.management.GarbageCollectorMXBean gc : mxbeans) {
       // Get the standard attribute "CollectionCount"
       String count = mxbean.getCollectionCount();

       // Get the platform-specific attribute "LastGcInfo"
       GcInfo gcinfo = gc.getLastGcInfo();
       ...
   }

2) Access the Oracle-specific MXBean interface via MBeanServer through proxy

   MBeanServerConnection mbs;

   // Connect to a running JVM (or itself) and get MBeanServerConnection
   // that has the JVM MXBeans registered in it
   ...

   List<com.sun.management.GarbageCollectorMXBean> mxbeans =
       ManagementFactory.getPlatformMXBeans(mbs, com.sun.management.GarbageCollectorMXBean.class);

   for (com.sun.management.GarbageCollectorMXBean gc : mxbeans) {
       // Get the standard attribute "CollectionCount"
       String count = mxbean.getCollectionCount();

       // Get the platform-specific attribute "LastGcInfo"
       GcInfo gcinfo = gc.getLastGcInfo();
       ...
   }

Unless otherwise noted, passing a null argument to a constructor or method in any class or interface in this package will cause a NullPointerException to be thrown.

The java.lang.management API is thread-safe.

Author
Mandy Chung
Since
1.5
See Also
JMX Specification

Interface Summary

Modifier and TypeInterface and Description
public interface
BufferPoolMXBean

The management interface for a buffer pool, for example a pool of direct or mapped buffers.

public interface
ClassLoadingMXBean

The management interface for the class loading system of the Java virtual machine.

public interface
CompilationMXBean

The management interface for the compilation system of the Java virtual machine.

public interface
GarbageCollectorMXBean

The management interface for the garbage collection of the Java virtual machine.

public interface
MemoryManagerMXBean

The management interface for a memory manager.

public interface
MemoryMXBean

The management interface for the memory system of the Java virtual machine.

public interface
MemoryPoolMXBean

The management interface for a memory pool.

public interface
OperatingSystemMXBean

The management interface for the operating system on which the Java virtual machine is running.

public interface
PlatformLoggingMXBean

The management interface for the logging facility.

public interface
PlatformManagedObject

A platform managed object is a JMX MXBean for monitoring and managing a component in the Java platform.

public interface
RuntimeMXBean

The management interface for the runtime system of the Java virtual machine.

public interface
ThreadMXBean

The management interface for the thread system of the Java virtual machine.

Class Summary

Modifier and TypeClass and Description
pack-priv class
public class
LockInfo

Information about a lock.

public class
ManagementFactory

The ManagementFactory class is a factory class for getting managed beans for the Java platform.

public class
ManagementPermission

Deprecated for removal since 25. This class was only useful in conjunction with the Security Manager, which is no longer supported. There is no replacement for this class.
This class is for management permissions.
public class
MemoryNotificationInfo

The information about a memory notification.

public class
MemoryUsage

A MemoryUsage object represents a snapshot of memory usage.

public class
MonitorInfo

Information about an object monitor lock.

public class
ThreadInfo

Thread information.

Enum Summary

Modifier and TypeEnum and Description
public enum