jdk/src/share/classes/sun/management/GarbageCollectorImpl.java
void createGCNotification(long timestamp,
String gcName,
String gcAction,
String gcCause,
GcInfo gcInfo) {
{- -------------------------------------------
(1) もし通知を送信すべきリスナーが誰もいなければ, することはない. ここでリターン.
---------------------------------------- -}
if (!hasListeners()) {
return;
}
{- -------------------------------------------
(1) リスナーに送信する Notification オブジェクトを生成する.
---------------------------------------- -}
Notification notif = new Notification(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION,
getObjectName(),
getNextSeqNumber(),
timestamp,
gcName);
{- -------------------------------------------
(1) GC 情報を表す CompositeData を生成し, Notification オブジェクトに付加する.
---------------------------------------- -}
GarbageCollectionNotificationInfo info =
new GarbageCollectionNotificationInfo(gcName,
gcAction,
gcCause,
gcInfo);
CompositeData cd =
GarbageCollectionNotifInfoCompositeData.toCompositeData(info);
notif.setUserData(cd);
{- -------------------------------------------
(1) sun.management.NotificationEmitterSupport.sendNotification() で
リスナーに通知を送信する.
---------------------------------------- -}
sendNotification(notif);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.