private static void subscribeForGc() {
ManagementFactory.getGarbageCollectorMXBeans().stream().filter(bean -> bean instanceof NotificationEmitter).forEach(bean -> {
((NotificationEmitter) bean).addNotificationListener((notification, handback) -> {
// System.err.println("Notified");
if (GARBAGE_COLLECTION_NOTIFICATION.equals(notification.getType())) {
GarbageCollectionNotificationInfo info = from((CompositeData) notification.getUserData());
com.sun.management.GarbageCollectorMXBean mxBean = (com.sun.management.GarbageCollectorMXBean) handback;
// System.err.println("GC notification");
GcInfo gcInfo = info.getGcInfo();
if (gcInfo != null) {
System.out.println(info.getGcName() + ", " + info.getGcAction() + ", " + mxBean.getName() + ", " + info.getGcCause() + ", " + gcInfo.getMemoryUsageBeforeGc() + ", " + gcInfo.getMemoryUsageAfterGc());
}
}
}, null, bean);
});
}
G1Demo.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:java-perv
作者:
评论列表
文章目录