import java.lang.management.ManagementFactory;
import java.util.List;

public class DeteksiKolektor {
    public static void main(String[] args) {
        List<String> pool = ManagementFactory.getMemoryPoolMXBeans().stream()
                .map(b -> b.getName())
                .filter(n -> n.contains("Eden") || n.contains("Old")
                        || n.contains("Tenured") || n.contains("Young"))
                .sorted()
                .toList();

        String kolektor;
        if (pool.stream().anyMatch(n -> n.startsWith("G1"))) {
            kolektor = "G1";
        } else if (pool.stream().anyMatch(n -> n.startsWith("PS"))) {
            kolektor = "Parallel";
        } else if (pool.stream().anyMatch(n -> n.startsWith("ZGC"))) {
            kolektor = "ZGC";
        } else if (pool.contains("Tenured Gen")) {
            kolektor = "Serial";
        } else {
            kolektor = "tidak dikenali";
        }

        System.out.println("kolektor aktif : " + kolektor);
        pool.forEach(n -> System.out.println("  pool: " + n));
    }
}
