GarbageCollectionNotificationInfo (Monitoring and Management Interface for the Java Platform )
Keywords: com.sun.management.GarbageCollectionNotificationInfo class
Date: 2018-07-01

compact3
com.sun.management

## Class GarbageCollectionNotificationInfo

- java.lang.Object
- - com.sun.management.GarbageCollectionNotificationInfo

- All Implemented Interfaces:
    CompositeDataView

      @Exported
      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 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:

- A garbage collection notification.
  Used by every notification emitted by the garbage collector, the details about the notification are provided in the action String

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `GARBAGE_COLLECTION_NOTIFICATION` Notification type denoting that the Java virtual machine has completed a garbage collection cycle.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GarbageCollectionNotificationInfo(String gcName, String gcAction, String gcCause, GcInfo gcInfo)` Constructs a `GarbageCollectionNotificationInfo` object.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static GarbageCollectionNotificationInfo` | `from(CompositeData cd)` Returns a `GarbageCollectionNotificationInfo` object represented by the given `CompositeData`.
    `String` | `getGcAction()` Returns the action of the performed by the garbage collector
    `String` | `getGcCause()` Returns the cause the garbage collection
    `GcInfo` | `getGcInfo()` Returns the GC information related to the last garbage collection
    `String` | `getGcName()` Returns the name of the garbage collector used to perform the collection
    `CompositeData` | `toCompositeData(CompositeType ct)` Return a `CompositeData` corresponding to the values in this object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### 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:
        Constant Field Values

  - ### Constructor Detail

    - #### 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 the garbage collection action
        `gcInfo` - a GcInfo object providing statistics about the GC cycle

  - ### Method Detail

    - #### 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 of the performed by the garbage collector
      Returns:
        the the action of the performed by the garbage collector

    - #### getGcCause

          public String getGcCause()

      Returns the cause the garbage collection
      Returns:
        the the cause 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

          public static GarbageCollectionNotificationInfo from(CompositeData cd)

      Returns a `GarbageCollectionNotificationInfo` object represented by the given `CompositeData`. The given `CompositeData` must contain the following attributes:

      > 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: `javax.management.openmbean.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`.

Copyright © 2003, 2018, Oracle and/or its affiliates. All rights reserved.