Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 java.management.jmod - Management Module
JDK 11 java.management.jmod is the JMOD file for JDK 11 Management module.
JDK 11 Management module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\java.management.jmod.
JDK 11 Management module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Management module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\java.management.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/management/MemoryPoolImpl.java
/* * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package sun.management; import java.lang.management.ManagementFactory; import java.lang.management.MemoryPoolMXBean; import java.lang.management.MemoryUsage; import java.lang.management.MemoryType; import java.lang.management.MemoryManagerMXBean; import javax.management.openmbean.CompositeData; import javax.management.ObjectName; import static java.lang.management.MemoryNotificationInfo.*; /** * Implementation class for a memory pool. * Standard and committed hotspot-specific metrics if any. * * ManagementFactory.getMemoryPoolMXBeans() returns a list of * instances of this class. */ class MemoryPoolImpl implements MemoryPoolMXBean { private final String name; private final boolean isHeap; private final boolean isValid; private final boolean collectionThresholdSupported; private final boolean usageThresholdSupported; private MemoryManagerMXBean[] managers; private long usageThreshold; private long collectionThreshold; private boolean usageSensorRegistered; // VM-initialized to false private boolean gcSensorRegistered; // VM-initialized to false private final Sensor usageSensor; private final Sensor gcSensor; MemoryPoolImpl(String name, boolean isHeap, long usageThreshold, long gcThreshold) { this.name = name; this.isHeap = isHeap; this.isValid = true; this.managers = null; this.usageThreshold = usageThreshold; this.collectionThreshold = gcThreshold; this.usageThresholdSupported = (usageThreshold >= 0); this.collectionThresholdSupported = (gcThreshold >= 0); this.usageSensor = new PoolSensor(this, name + " usage sensor"); this.gcSensor = new CollectionSensor(this, name + " collection sensor"); } public String getName() { return name; } public boolean isValid() { return isValid; } public MemoryType getType() { if (isHeap) { return MemoryType.HEAP; } else { return MemoryType.NON_HEAP; } } public MemoryUsage getUsage() { return getUsage0(); } public synchronized MemoryUsage getPeakUsage() { // synchronized since resetPeakUsage may be resetting the peak usage return getPeakUsage0(); } public synchronized long getUsageThreshold() { if (!isUsageThresholdSupported()) { throw new UnsupportedOperationException( "Usage threshold is not supported"); } return usageThreshold; } public void setUsageThreshold(long newThreshold) { if (!isUsageThresholdSupported()) { throw new UnsupportedOperationException( "Usage threshold is not supported"); } Util.checkControlAccess(); MemoryUsage usage = getUsage0(); if (newThreshold < 0) { throw new IllegalArgumentException( "Invalid threshold: " + newThreshold); } if (usage.getMax() != -1 && newThreshold > usage.getMax()) { throw new IllegalArgumentException( "Invalid threshold: " + newThreshold + " must be <= maxSize." + " Committed = " + usage.getCommitted() + " Max = " + usage.getMax()); } synchronized (this) { if (!usageSensorRegistered) { // pass the sensor to VM to begin monitoring usageSensorRegistered = true; setPoolUsageSensor(usageSensor); } setUsageThreshold0(usageThreshold, newThreshold); this.usageThreshold = newThreshold; } } private synchronized MemoryManagerMXBean[] getMemoryManagers() { if (managers == null) { managers = getMemoryManagers0(); } return managers; } public String[] getMemoryManagerNames() { MemoryManagerMXBean[] mgrs = getMemoryManagers(); String[] names = new String[mgrs.length]; for (int i = 0; i < mgrs.length; i++) { names[i] = mgrs[i].getName(); } return names; } public void resetPeakUsage() { Util.checkControlAccess(); synchronized (this) { // synchronized since getPeakUsage may be called concurrently resetPeakUsage0(); } } public boolean isUsageThresholdExceeded() { if (!isUsageThresholdSupported()) { throw new UnsupportedOperationException( "Usage threshold is not supported"); } // return false if usage threshold crossing checking is disabled if (usageThreshold == 0) { return false; } MemoryUsage u = getUsage0(); return (u.getUsed() >= usageThreshold || usageSensor.isOn()); } public long getUsageThresholdCount() { if (!isUsageThresholdSupported()) { throw new UnsupportedOperationException( "Usage threshold is not supported"); } return usageSensor.getCount(); } public boolean isUsageThresholdSupported() { return usageThresholdSupported; } public synchronized long getCollectionUsageThreshold() { if (!isCollectionUsageThresholdSupported()) { throw new UnsupportedOperationException( "CollectionUsage threshold is not supported"); } return collectionThreshold; } public void setCollectionUsageThreshold(long newThreshold) { if (!isCollectionUsageThresholdSupported()) { throw new UnsupportedOperationException( "CollectionUsage threshold is not supported"); } Util.checkControlAccess(); MemoryUsage usage = getUsage0(); if (newThreshold < 0) { throw new IllegalArgumentException( "Invalid threshold: " + newThreshold); } if (usage.getMax() != -1 && newThreshold > usage.getMax()) { throw new IllegalArgumentException( "Invalid threshold: " + newThreshold + " > max (" + usage.getMax() + ")."); } synchronized (this) { if (!gcSensorRegistered) { // pass the sensor to VM to begin monitoring gcSensorRegistered = true; setPoolCollectionSensor(gcSensor); } setCollectionThreshold0(collectionThreshold, newThreshold); this.collectionThreshold = newThreshold; } } public boolean isCollectionUsageThresholdExceeded() { if (!isCollectionUsageThresholdSupported()) { throw new UnsupportedOperationException( "CollectionUsage threshold is not supported"); } // return false if usage threshold crossing checking is disabled if (collectionThreshold == 0) { return false; } MemoryUsage u = getCollectionUsage0(); return (gcSensor.isOn() || (u != null && u.getUsed() >= collectionThreshold)); } public long getCollectionUsageThresholdCount() { if (!isCollectionUsageThresholdSupported()) { throw new UnsupportedOperationException( "CollectionUsage threshold is not supported"); } return gcSensor.getCount(); } public MemoryUsage getCollectionUsage() { return getCollectionUsage0(); } public boolean isCollectionUsageThresholdSupported() { return collectionThresholdSupported; } // Native VM support private native MemoryUsage getUsage0(); private native MemoryUsage getPeakUsage0(); private native MemoryUsage getCollectionUsage0(); private native void setUsageThreshold0(long current, long newThreshold); private native void setCollectionThreshold0(long current, long newThreshold); private native void resetPeakUsage0(); private native MemoryManagerMXBean[] getMemoryManagers0(); private native void setPoolUsageSensor(Sensor s); private native void setPoolCollectionSensor(Sensor s); // package private /** * PoolSensor will be triggered by the VM when the memory * usage of a memory pool is crossing the usage threshold. * The VM will not trigger this sensor in subsequent crossing * unless the memory usage has returned below the threshold. */ class PoolSensor extends Sensor { final MemoryPoolImpl pool; PoolSensor(MemoryPoolImpl pool, String name) { super(name); this.pool = pool; } void triggerAction(MemoryUsage usage) { // create and send notification MemoryImpl.createNotification(MEMORY_THRESHOLD_EXCEEDED, pool.getName(), usage, getCount()); } void triggerAction() { // do nothing } void clearAction() { // do nothing } } /** * CollectionSensor will be triggered and cleared by the VM * when the memory usage of a memory pool after GC is crossing * the collection threshold. * The VM will trigger this sensor in subsequent crossing * regardless if the memory usage has changed since the previous GC. */ class CollectionSensor extends Sensor { final MemoryPoolImpl pool; CollectionSensor(MemoryPoolImpl pool, String name) { super(name); this.pool = pool; } void triggerAction(MemoryUsage usage) { MemoryImpl.createNotification(MEMORY_COLLECTION_THRESHOLD_EXCEEDED, pool.getName(), usage, gcSensor.getCount()); } void triggerAction() { // do nothing } void clearAction() { // do nothing } } public ObjectName getObjectName() { return Util.newObjectName(ManagementFactory.MEMORY_POOL_MXBEAN_DOMAIN_TYPE, getName()); } }
⏎ sun/management/MemoryPoolImpl.java
Or download all of them as a single archive file:
File name: java.management-11.0.1-src.zip File size: 828174 bytes Release date: 2018-11-04 Download
⇒ JDK 11 java.management.rmi.jmod - Management RMI Module
2020-04-30, 97607👍, 0💬
Popular Posts:
commons-lang-1.0.1.jar is the JAR file for Apache Commons Lang 1.0.1, which provides a host of helpe...
What Is activation.jar? I heard it's related to JAF (JavaBeans Activation Framework) 1.0.2? The if y...
Jettison is a collection of Java APIs (like STaX and DOM) which read and write JSON. This allows nea...
How to run "jarsigner" command from JDK tools.jar file? "jarsigner" command allows you to digitally ...
JDK 11 jdk.internal.opt.jmod is the JMOD file for JDK 11 Internal Opt module. JDK 11 Internal Opt mo...