--- old/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java 2020-03-08 23:34:11.584311658 +0800 +++ new/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java 2020-03-08 23:34:11.452306839 +0800 @@ -41,6 +41,7 @@ import jdk.internal.access.JavaNioAccess; import jdk.internal.access.SharedSecrets; +import jdk.internal.misc.VM; import java.util.ArrayList; import java.util.List; @@ -340,13 +341,8 @@ private static List bufferPools = null; public static synchronized List getBufferPoolMXBeans() { if (bufferPools == null) { - bufferPools = new ArrayList<>(2); - bufferPools.add(createBufferPoolMXBean(SharedSecrets.getJavaNioAccess() - .getDirectBufferPool())); - bufferPools.add(createBufferPoolMXBean(sun.nio.ch.FileChannelImpl - .getMappedBufferPool())); - bufferPools.add(createBufferPoolMXBean(sun.nio.ch.FileChannelImpl - .getSyncMappedBufferPool())); + bufferPools = new ArrayList<>(3); + VM.getBufferPools().forEach(pool -> bufferPools.add(createBufferPoolMXBean(pool))); } return bufferPools; }