Class GarbageCollectionNotificationInfo

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

public class GarbageCollectionNotificationInfo extends Object implements CompositeDataView
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 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 save in 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:

  • 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)
    Creates a new GarbageCollectionNotificationInfo instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a GarbageCollectionNotificationInfo object represented by the given CompositeData.
     
     
     
     
    Return the CompositeData representation of this GarbageCollectionNotificationInfo.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • 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.ibm.lang.management.gc.notification" which matches RI naming for compatibility.
      See Also:
  • Constructor Details

    • GarbageCollectionNotificationInfo

      public GarbageCollectionNotificationInfo(String gcName, String gcAction, String gcCause, GcInfo gcInfo)
      Creates a new GarbageCollectionNotificationInfo instance.
      Parameters:
      gcName - the name of the garbage collector used to perform the collection
      gcAction - the action of the performed by the garbage collector
      gcCause - the cause the garbage collection
      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.
    • getGcAction

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

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

      public GcInfo getGcInfo()
      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:

      CompositeData attributes
      Attribute Name Type
      gcName java.lang.String
      gcAction java.lang.String
      gcCause java.lang.String
      gcInfo com.ibm.lang.management.GcInfo
      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 GarbageCollectionNotificationInfo object
    • toCompositeData

      public CompositeData toCompositeData(CompositeType ct)

      Return the CompositeData representation of this GarbageCollectionNotificationInfo.

      Specified by:
      toCompositeData in interface CompositeDataView
      Parameters:
      ct - the CompositeType that the caller expects. This parameter is ignored and can be null.
      Returns:
      the CompositeData representation.