Monitoring Java Safepoint Time in JDK16+
    David Holmes 
    david.holmes at oracle.com
       
    Fri Jun 18 06:47:35 UTC 2021
    
    
  
On 18/06/2021 4:35 pm, Alan Bateman wrote:
> On 17/06/2021 22:44, David Holmes wrote:
>>
>> I must admit I'm a bit confused about these implementation-specific 
>> MBeans. They are implementation-specific, so no part of the primary 
>> java.management namespace, but they are provided so that they can be 
>> used - so shutting them behind the modular doors (so to speak) really 
>> doesn't make much sense to me.
> The JDK-specific MBeans are in the com.sun.management package, exported 
> by the jdk.management module.  The sun.management.* classes have always 
> been JDK-internal implementation classes and were never mean to be used 
> directly by code outside of the JDK. Directly referencing these classes 
> would have been a warning at compile prior with JDK 8 and older. It 
> changed an error at compile time in JDK 9.
Ah! I now see:
    /**
      * This method is for testing only.
      */
     public static synchronized HotspotRuntimeMBean 
getHotspotRuntimeMBean() {
         if (hsRuntimeMBean == null) {
             hsRuntimeMBean = new HotspotRuntime(jvm);
         }
         return hsRuntimeMBean;
     }
in sun.management.ManagementFactoryHelper. So it seems there is no 
actual _use_ of these platform-specific MBeans even within the JDK. So 
their existence seems somewhat pointless.
Cheers,
David
> -Alan
    
    
More information about the serviceability-dev
mailing list