GCUtil class

Пакет: com.hypixel.hytale.common.util

Файл: com/hypixel/hytale/common/util/GCUtil.java

Поля (2)

МодификаторыТипИмя
GarbageCollectionNotificationInfo var3
NotificationEmitter var4

Методы (1)

МодификаторыВозвратСигнатура
static void registervoid register(@Nonnull Consumer<GarbageCollectionNotificationInfo> var0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.common.util;

class="kw">import com.sun.management.GarbageCollectionNotificationInfo;
class="kw">import java.lang.management.GarbageCollectorMXBean;
class="kw">import java.lang.management.ManagementFactory;
class="kw">import java.util.function.Consumer;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.management.NotificationEmitter;
class="kw">import javax.management.openmbean.CompositeData;

class="kw">public class GCUtil {
   class="kw">public GCUtil() {
   }

   class="kw">public class="kw">static void register(@Nonnull Consumer<GarbageCollectionNotificationInfo> var0) {
      for (GarbageCollectorMXBean var3 : ManagementFactory.getGarbageCollectorMXBeans()) {
         NotificationEmitter var4 = (NotificationEmitter)var3;
         var4.addNotificationListener((var1, var2) -> {
            if (var1.getType().equals("com.sun.management.gc.notification")) {
               GarbageCollectionNotificationInfo var3 = GarbageCollectionNotificationInfo.from((CompositeData)var1.getUserData());
               var0.accept(var3);
            }
         }, null, null);
      }
   }
}