模块  jdk.management
软件包  com.sun.management

Class GarbageCollectionNotificationInfo

  • 实现的所有接口
    CompositeDataView

    public class GarbageCollectionNotificationInfo
    extends Object
    implements CompositeDataView
    有关垃圾收集的信息

    当Java虚拟机完成垃圾收集操作时, GarbageCollectorMXBean将发出垃圾收集通知。发出的通知将包含有关内存状态的垃圾收集通知信息:

    • 用于执行集合的垃圾收集器的名称。
    • 垃圾收集器执行的操作。
    • 垃圾收集操作的原因。
    • GcInfo对象,包含有关GC周期(开始时间,结束时间)以及GC周期之前和之后的内存使用情况的一些统计信息。

    CompositeData表示GarbageCollectionNotificationInfo对象被存储在userdata一个的notification 提供from方法以从CompositeData转换为GarbageCollectionNotificationInfo对象。 例如:

          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);
              ....
          }
     

    GarbageCollectorMXBean发出的通知类型为:

    • 字段详细信息

      • GARBAGE_COLLECTION_NOTIFICATION

        public static final String GARBAGE_COLLECTION_NOTIFICATION
        表示Java虚拟机已完成垃圾回收周期的通知类型。 该通知由GarbageCollectorMXBean发出。 此通知类型的值为com.sun.management.gc.notification
        另请参见:
        常数字段值
    • 构造方法详细信息

      • GarbageCollectionNotificationInfo

        public GarbageCollectionNotificationInfo​(String gcName,
                                                 String gcAction,
                                                 String gcCause,
                                                 GcInfo gcInfo)
        构造一个 GarbageCollectionNotificationInfo对象。
        参数
        gcName - 用于执行集合的垃圾收集器的名称
        gcAction - 垃圾收集器执行的操作的名称
        gcCause - 垃圾收集操作的原因
        gcInfo - 提供有关GC周期的统计信息的GcInfo对象
    • 方法详细信息

      • getGcName

        public String getGcName()
        返回用于执行集合的垃圾收集器的名称
        结果
        用于执行集合的垃圾收集器的名称
      • getGcAction

        public String getGcAction()
        返回垃圾收集器执行的操作
        结果
        垃圾收集器执行的操作
      • getGcCause

        public String getGcCause()
        返回垃圾回收的原因
        结果
        垃圾收集的原因
      • getGcInfo

        public GcInfo getGcInfo()
        返回与上次垃圾回收相关的GC信息
        结果
        与上次垃圾收集相关的GC信息
      • from

        public static GarbageCollectionNotificationInfo from​(CompositeData cd)
        返回由给定的CompositeData表示的GarbageCollectionNotificationInfo对象。 给定的CompositeData必须包含以下属性:
        description
        Attribute Name Type
        gcName java.lang.String
        gcAction java.lang.String
        gcCause java.lang.String
        gcInfo javax.management.openmbean.CompositeData
        参数
        cd - CompositeData代表 GarbageCollectionNotificationInfo
        结果
        如果cd不是null ,则由cd表示的GarbageCollectionNotificationInfo对象; 否则为null
        异常
        IllegalArgumentException - 如果 cd不表示 GarbaageCollectionNotificationInfo对象。