GarbageCollectionNotificationInfo 值看起来无效

GarbageCollectionNotificationInfo values look invalid

我正在使用 GarbageCollectionNotificationInfo 通知来跟踪 GC 事件。这很好,但看起来输出无效。我希望 getGcInfo().getMemoryUsageBeforeGc() -> MemoryUsage.getUsed() 会在 运行 当前 GC 之前报告特定的段使用情况。 但它始终等于之前通知中的 getGcInfo().getMemoryUsageAfterGc()。这里有什么问题?

这是我使用的并且它正在工作 :) 我的意思是我在 GC 之前和之后都得到了正确的数字。

public synchronized void handleNotification(Notification notification, Object handback) {
    if (GARBAGE_COLLECTION_NOTIFICATION.equals(notification.getType())) {
      GarbageCollectionNotificationInfo info = from((CompositeData) notification.getUserData());

      com.sun.management.GarbageCollectorMXBean mxBean = (com.sun.management.GarbageCollectorMXBean) handback;
      GcInfo gcInfo = mxBean.getLastGcInfo();

      if (gcInfo != null) {
//use gcInfo.getMemoryUsageBeforeGc() and gcInfo.getMemoryUsageAfterGc()
      }
    }
  }