Class GarbageCollectionNotificationInfo

java.lang.Object
com.sun.management.GarbageCollectionNotificationInfo
All Implemented Interfaces:
CompositeDataView

public class GarbageCollectionNotificationInfo extends Object implements CompositeDataView
The information about a garbage collection

A garbage collection notification is emitted by GarbageCollectorMXBean when the Java virtual machine completes a garbage collection action The notification emitted will contain the garbage collection notification information about the status of the memory:

  • The name of the garbage collector used to perform the collection.
  • The action performed by the garbage collector.
  • The cause of the garbage collection action.
  • A GcInfo object containing some statistics about the GC cycle (start time, end time) and the memory usage before and after the GC cycle.

A CompositeData representing the GarbageCollectionNotificationInfo object is stored in the userdata of a notification. The from method is provided to convert from a CompositeData to a GarbageCollectionNotificationInfo object. For example:

     Notification notif;

     // receive the notification emitted by a GarbageCollectorMXBean and set to notif
     ...

     String notifType = notif.getType();
     if (notifType.equals(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION)) {
         // retrieve the garbage collection notification information
         CompositeData cd = (CompositeData) notif.getUserData();
         GarbageCollectionNotificationInfo info = GarbageCollectionNotificationInfo.from(cd);
         ....
     }

The type of the notification emitted by a GarbageCollectorMXBean is:

Since:
1.7
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Notification type denoting that the Java virtual machine has completed a garbage collection cycle.
  • Constructor Summary

    Constructors
    Constructor
    Description
    GarbageCollectionNotificationInfo(String gcName, String gcAction, String gcCause, GcInfo gcInfo)
    Constructs a GarbageCollectionNotificationInfo object.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a GarbageCollectionNotificationInfo object represented by the given CompositeData.
    Returns the action performed by the garbage collector
    Returns the cause of the garbage collection
    Returns the GC information related to the last garbage collection
    Returns the name of the garbage collector used to perform the collection
    Return a CompositeData corresponding to the values in this object.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Creates and returns a copy of this object.
    boolean
    Indicates whether some other object is "equal to" this one.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Finalization is deprecated and subject to removal in a future release.
    final Class<?>
    Returns the runtime class of this Object.
    int
    Returns a hash code value for this object.
    final void
    Wakes up a single thread that is waiting on this object's monitor.
    final void
    Wakes up all threads that are waiting on this object's monitor.
    Returns a string representation of the object.
    final void
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
    final void
    wait(long timeoutMillis)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
    final void
    wait(long timeoutMillis, int nanos)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  • Field Details

    • GARBAGE_COLLECTION_NOTIFICATION

      public static final String GARBAGE_COLLECTION_NOTIFICATION
      Notification type denoting that the Java virtual machine has completed a garbage collection cycle. This notification is emitted by a GarbageCollectorMXBean. The value of this notification type is com.sun.management.gc.notification.
      See Also:
  • Constructor Details

    • GarbageCollectionNotificationInfo

      public GarbageCollectionNotificationInfo(String gcName, String gcAction, String gcCause, GcInfo gcInfo)
      Constructs a GarbageCollectionNotificationInfo object.
      Parameters:
      gcName - The name of the garbage collector used to perform the collection
      gcAction - The name of the action performed by the garbage collector
      gcCause - The cause of the garbage collection action
      gcInfo - a GcInfo object providing statistics about the GC cycle
  • Method Details

    • getGcName

      public String getGcName()
      Returns the name of the garbage collector used to perform the collection
      Returns:
      the name of the garbage collector used to perform the collection
    • getGcAction

      public String getGcAction()
      Returns the action performed by the garbage collector
      Returns:
      the action performed by the garbage collector
    • getGcCause

      public String getGcCause()
      Returns the cause of the garbage collection
      Returns:
      the cause of the garbage collection
    • getGcInfo

      public GcInfo getGcInfo()
      Returns the GC information related to the last garbage collection
      Returns:
      the GC information related to the last garbage collection
    • from

      Returns a GarbageCollectionNotificationInfo object represented by the given CompositeData. The given CompositeData must contain the following attributes:
      description
      Attribute Name Type
      gcName java.lang.String
      gcAction java.lang.String
      gcCause java.lang.String
      gcInfo javax.management.openmbean.CompositeData
      Parameters:
      cd - CompositeData representing a GarbageCollectionNotificationInfo
      Returns:
      a GarbageCollectionNotificationInfo object represented by cd if cd is not null; null otherwise.
      Throws:
      IllegalArgumentException - if cd does not represent a GarbaageCollectionNotificationInfo object.
    • toCompositeData

      public CompositeData toCompositeData(CompositeType ct)
      Description copied from interface: CompositeDataView

      Return a CompositeData corresponding to the values in this object. The returned value should usually be an instance of CompositeDataSupport, or a class that serializes as a CompositeDataSupport via a writeReplace method. Otherwise, a remote client that receives the object might not be able to reconstruct it.

      Specified by:
      toCompositeData in interface CompositeDataView
      Parameters:
      ct - The expected CompositeType of the returned value. If the returned value is cd, then cd.getCompositeType().equals(ct) should be true. Typically this will be because cd is a CompositeDataSupport constructed with ct as its CompositeType.
      Returns:
      the CompositeData.