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 17 jdk.management.jmod - Management Module
JDK 17 jdk.management.jmod is the JMOD file for JDK 17 Management module.
JDK 17 Management module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.management.jmod.
JDK 17 Management module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Management module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\jdk.management.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/management/internal/GcInfoCompositeData.java
/* * Copyright (c) 2004, 2021, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.management.internal; import java.lang.management.MemoryUsage; import java.lang.reflect.Method; import java.lang.reflect.Field; import java.util.Map; import java.io.InvalidObjectException; import javax.management.openmbean.CompositeType; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeDataSupport; import javax.management.openmbean.TabularData; import javax.management.openmbean.SimpleType; import javax.management.openmbean.OpenType; import javax.management.openmbean.OpenDataException; import com.sun.management.GcInfo; import java.security.AccessController; import java.security.PrivilegedAction; import sun.management.LazyCompositeData; import static sun.management.LazyCompositeData.getLong; import sun.management.MappedMXBeanType; import sun.management.Util; /** * A CompositeData for GcInfo for the local management support. * This class avoids the performance penalty paid to the * construction of a CompositeData use in the local case. */ public class GcInfoCompositeData extends LazyCompositeData { private final GcInfo info; private final GcInfoBuilder builder; private final Object[] gcExtItemValues; public GcInfoCompositeData(GcInfo info, GcInfoBuilder builder, Object[] gcExtItemValues) { this.info = info; this.builder = builder; this.gcExtItemValues = gcExtItemValues; } public GcInfo getGcInfo() { return info; } public static CompositeData toCompositeData(final GcInfo info) { @SuppressWarnings("removal") final GcInfoBuilder builder = AccessController.doPrivileged (new PrivilegedAction<GcInfoBuilder>() { public GcInfoBuilder run() { try { Class<?> cl = Class.forName("com.sun.management.GcInfo"); Field f = cl.getDeclaredField("builder"); f.setAccessible(true); return (GcInfoBuilder)f.get(info); } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) { return null; } } }); @SuppressWarnings("removal") final Object[] extAttr = AccessController.doPrivileged (new PrivilegedAction<Object[]>() { public Object[] run() { try { Class<?> cl = Class.forName("com.sun.management.GcInfo"); Field f = cl.getDeclaredField("extAttributes"); f.setAccessible(true); return (Object[])f.get(info); } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) { return null; } } }); GcInfoCompositeData gcicd = new GcInfoCompositeData(info,builder,extAttr); return gcicd.getCompositeData(); } protected CompositeData getCompositeData() { // CONTENTS OF THIS ARRAY MUST BE SYNCHRONIZED WITH // baseGcInfoItemNames! final Object[] baseGcInfoItemValues; try { baseGcInfoItemValues = new Object[] { info.getId(), info.getStartTime(), info.getEndTime(), info.getDuration(), memoryUsageMapType.toOpenTypeData(info.getMemoryUsageBeforeGc()), memoryUsageMapType.toOpenTypeData(info.getMemoryUsageAfterGc()), }; } catch (OpenDataException e) { // Should never reach here throw new AssertionError(e); } // Get the item values for the extension attributes final int gcExtItemCount = builder.getGcExtItemCount(); if (gcExtItemCount == 0 && gcExtItemValues != null && gcExtItemValues.length != 0) { throw new AssertionError("Unexpected Gc Extension Item Values"); } if (gcExtItemCount > 0 && (gcExtItemValues == null || gcExtItemCount != gcExtItemValues.length)) { throw new AssertionError("Unmatched Gc Extension Item Values"); } Object[] values = new Object[baseGcInfoItemValues.length + gcExtItemCount]; System.arraycopy(baseGcInfoItemValues, 0, values, 0, baseGcInfoItemValues.length); if (gcExtItemCount > 0) { System.arraycopy(gcExtItemValues, 0, values, baseGcInfoItemValues.length, gcExtItemCount); } try { return new CompositeDataSupport(builder.getGcInfoCompositeType(), builder.getItemNames(), values); } catch (OpenDataException e) { // Should never reach here throw new AssertionError(e); } } private static final String ID = "id"; private static final String START_TIME = "startTime"; private static final String END_TIME = "endTime"; private static final String DURATION = "duration"; private static final String MEMORY_USAGE_BEFORE_GC = "memoryUsageBeforeGc"; private static final String MEMORY_USAGE_AFTER_GC = "memoryUsageAfterGc"; private static final String[] baseGcInfoItemNames = { ID, START_TIME, END_TIME, DURATION, MEMORY_USAGE_BEFORE_GC, MEMORY_USAGE_AFTER_GC, }; private static MappedMXBeanType memoryUsageMapType; static { try { Method m = GcInfo.class.getMethod("getMemoryUsageBeforeGc"); memoryUsageMapType = MappedMXBeanType.getMappedType(m.getGenericReturnType()); } catch (NoSuchMethodException | OpenDataException e) { // Should never reach here throw new AssertionError(e); } } static String[] getBaseGcInfoItemNames() { return baseGcInfoItemNames; } private static OpenType<?>[] baseGcInfoItemTypes = null; static synchronized OpenType<?>[] getBaseGcInfoItemTypes() { if (baseGcInfoItemTypes == null) { OpenType<?> memoryUsageOpenType = memoryUsageMapType.getOpenType(); baseGcInfoItemTypes = new OpenType<?>[] { SimpleType.LONG, SimpleType.LONG, SimpleType.LONG, SimpleType.LONG, memoryUsageOpenType, memoryUsageOpenType, }; } return baseGcInfoItemTypes; } public static long getId(CompositeData cd) { return getLong(cd, ID); } public static long getStartTime(CompositeData cd) { return getLong(cd, START_TIME); } public static long getEndTime(CompositeData cd) { return getLong(cd, END_TIME); } public static Map<String, MemoryUsage> getMemoryUsageBeforeGc(CompositeData cd) { try { TabularData td = (TabularData) cd.get(MEMORY_USAGE_BEFORE_GC); return cast(memoryUsageMapType.toJavaTypeData(td)); } catch (InvalidObjectException | OpenDataException e) { // Should never reach here throw new AssertionError(e); } } @SuppressWarnings("unchecked") public static Map<String, MemoryUsage> cast(Object x) { return (Map<String, MemoryUsage>) x; } public static Map<String, MemoryUsage> getMemoryUsageAfterGc(CompositeData cd) { try { TabularData td = (TabularData) cd.get(MEMORY_USAGE_AFTER_GC); //return (Map<String,MemoryUsage>) return cast(memoryUsageMapType.toJavaTypeData(td)); } catch (InvalidObjectException | OpenDataException e) { // Should never reach here throw new AssertionError(e); } } /** * Returns true if the input CompositeData has the expected * CompositeType (i.e. contain all attributes with expected * names and types). Otherwise, return false. */ public static void validateCompositeData(CompositeData cd) { if (cd == null) { throw new NullPointerException("Null CompositeData"); } if (!isTypeMatched(getBaseGcInfoCompositeType(), cd.getCompositeType())) { throw new IllegalArgumentException( "Unexpected composite type for GcInfo"); } } // This is only used for validation. private static CompositeType baseGcInfoCompositeType = null; static synchronized CompositeType getBaseGcInfoCompositeType() { if (baseGcInfoCompositeType == null) { try { baseGcInfoCompositeType = new CompositeType("sun.management.BaseGcInfoCompositeType", "CompositeType for Base GcInfo", getBaseGcInfoItemNames(), getBaseGcInfoItemNames(), getBaseGcInfoItemTypes()); } catch (OpenDataException e) { // shouldn't reach here throw new RuntimeException(e); } } return baseGcInfoCompositeType; } private static final long serialVersionUID = -5716428894085882742L; }
⏎ com/sun/management/internal/GcInfoCompositeData.java
Or download all of them as a single archive file:
File name: jdk.management-17.0.5-src.zip File size: 42254 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.management.agent.jmod - Management Agent Module
2023-07-29, 1447👍, 0💬
Popular Posts:
Where to find answers to frequently asked questions on Downloading and Using JDK (Java Development K...
Java Cryptography Extension 1.2.2 JAR File Size and Download Location: File name: jce.jar, jce-1.2.2...
What Is jniwrap.jar in JNIWrapper 3.7.1? winpack.jar in JNIWrapper 3.7.1 is an add-on JAR file for J...
JDK 11 java.desktop.jmod is the JMOD file for JDK 11 Desktop module. JDK 11 Desktop module compiled ...
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms, it was develo...