public class sun.management.ManagementFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.management.ManagementFactory
  super_class: java.lang.Object
{
  private static sun.management.VMManagement jvm;
    descriptor: Lsun/management/VMManagement;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean mbeansCreated;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.ClassLoadingImpl classMBean;
    descriptor: Lsun/management/ClassLoadingImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.MemoryImpl memoryMBean;
    descriptor: Lsun/management/MemoryImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.ThreadImpl threadMBean;
    descriptor: Lsun/management/ThreadImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.RuntimeImpl runtimeMBean;
    descriptor: Lsun/management/RuntimeImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.CompilationImpl compileMBean;
    descriptor: Lsun/management/CompilationImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.OperatingSystemImpl osMBean;
    descriptor: Lsun/management/OperatingSystemImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.HotSpotDiagnostic hsDiagMBean;
    descriptor: Lsun/management/HotSpotDiagnostic;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.HotspotRuntime hsRuntimeMBean;
    descriptor: Lsun/management/HotspotRuntime;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.HotspotClassLoading hsClassMBean;
    descriptor: Lsun/management/HotspotClassLoading;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.HotspotThread hsThreadMBean;
    descriptor: Lsun/management/HotspotThread;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.HotspotCompilation hsCompileMBean;
    descriptor: Lsun/management/HotspotCompilation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.management.HotspotMemory hsMemoryMBean;
    descriptor: Lsun/management/HotspotMemory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.security.Permission monitorPermission;
    descriptor: Ljava/security/Permission;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.security.Permission controlPermission;
    descriptor: Ljava/security/Permission;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.String HOTSPOT_DIAGNOSTIC_MXBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.management:type=HotSpotDiagnostic"

  private static final java.lang.String HOTSPOT_CLASS_LOADING_MBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.management:type=HotspotClassLoading"

  private static final java.lang.String HOTSPOT_COMPILATION_MBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.management:type=HotspotCompilation"

  private static final java.lang.String HOTSPOT_MEMORY_MBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.management:type=HotspotMemory"

  private static final java.lang.String HOTSPOT_RUNTIME_MBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.management:type=HotspotRuntime"

  private static final java.lang.String HOTSPOT_THREAD_MBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.management:type=HotspotThreading"

  private static final java.lang.String HOTSPOT_INTERNAL_MBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.management:type=HotspotInternal"

  private static javax.management.ObjectName hsInternalObjName;
    descriptor: Ljavax/management/ObjectName;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int JMM_THREAD_STATE_FLAG_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1048576

  private static final int JMM_THREAD_STATE_FLAG_SUSPENDED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1048576

  private static final int JMM_THREAD_STATE_FLAG_NATIVE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4194304

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 73
            iconst_0
            putstatic sun.management.ManagementFactory.mbeansCreated:Z
         1: .line 74
            aconst_null
            putstatic sun.management.ManagementFactory.classMBean:Lsun/management/ClassLoadingImpl;
         2: .line 75
            aconst_null
            putstatic sun.management.ManagementFactory.memoryMBean:Lsun/management/MemoryImpl;
         3: .line 76
            aconst_null
            putstatic sun.management.ManagementFactory.threadMBean:Lsun/management/ThreadImpl;
         4: .line 77
            aconst_null
            putstatic sun.management.ManagementFactory.runtimeMBean:Lsun/management/RuntimeImpl;
         5: .line 78
            aconst_null
            putstatic sun.management.ManagementFactory.compileMBean:Lsun/management/CompilationImpl;
         6: .line 79
            aconst_null
            putstatic sun.management.ManagementFactory.osMBean:Lsun/management/OperatingSystemImpl;
         7: .line 156
            aconst_null
            putstatic sun.management.ManagementFactory.hsDiagMBean:Lsun/management/HotSpotDiagnostic;
         8: .line 157
            aconst_null
            putstatic sun.management.ManagementFactory.hsRuntimeMBean:Lsun/management/HotspotRuntime;
         9: .line 158
            aconst_null
            putstatic sun.management.ManagementFactory.hsClassMBean:Lsun/management/HotspotClassLoading;
        10: .line 159
            aconst_null
            putstatic sun.management.ManagementFactory.hsThreadMBean:Lsun/management/HotspotThread;
        11: .line 160
            aconst_null
            putstatic sun.management.ManagementFactory.hsCompileMBean:Lsun/management/HotspotCompilation;
        12: .line 161
            aconst_null
            putstatic sun.management.ManagementFactory.hsMemoryMBean:Lsun/management/HotspotMemory;
        13: .line 223
            new java.lang.management.ManagementPermission
            dup
            ldc "monitor"
            invokespecial java.lang.management.ManagementPermission.<init>:(Ljava/lang/String;)V
        14: .line 222
            putstatic sun.management.ManagementFactory.monitorPermission:Ljava/security/Permission;
        15: .line 225
            new java.lang.management.ManagementPermission
            dup
            ldc "control"
            invokespecial java.lang.management.ManagementPermission.<init>:(Ljava/lang/String;)V
        16: .line 224
            putstatic sun.management.ManagementFactory.controlPermission:Ljava/security/Permission;
        17: .line 373
            aconst_null
            putstatic sun.management.ManagementFactory.hsInternalObjName:Ljavax/management/ObjectName;
        18: .line 485
            new sun.security.action.LoadLibraryAction
            dup
            ldc "management"
            invokespecial sun.security.action.LoadLibraryAction.<init>:(Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        19: .line 486
            new sun.management.VMManagementImpl
            dup
            invokespecial sun.management.VMManagementImpl.<init>:()V
            putstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
        20: .line 506
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.ManagementFactory this
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.management.ManagementFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/ManagementFactory;

  public static synchronized java.lang.management.ClassLoadingMXBean getClassLoadingMXBean();
    descriptor: ()Ljava/lang/management/ClassLoadingMXBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 82
            getstatic sun.management.ManagementFactory.classMBean:Lsun/management/ClassLoadingImpl;
            ifnonnull 2
         1: .line 83
            new sun.management.ClassLoadingImpl
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.ClassLoadingImpl.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.classMBean:Lsun/management/ClassLoadingImpl;
         2: .line 85
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.classMBean:Lsun/management/ClassLoadingImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized java.lang.management.MemoryMXBean getMemoryMXBean();
    descriptor: ()Ljava/lang/management/MemoryMXBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 89
            getstatic sun.management.ManagementFactory.memoryMBean:Lsun/management/MemoryImpl;
            ifnonnull 2
         1: .line 90
            new sun.management.MemoryImpl
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.MemoryImpl.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.memoryMBean:Lsun/management/MemoryImpl;
         2: .line 92
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.memoryMBean:Lsun/management/MemoryImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized java.lang.management.ThreadMXBean getThreadMXBean();
    descriptor: ()Ljava/lang/management/ThreadMXBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 96
            getstatic sun.management.ManagementFactory.threadMBean:Lsun/management/ThreadImpl;
            ifnonnull 2
         1: .line 97
            new sun.management.ThreadImpl
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.ThreadImpl.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.threadMBean:Lsun/management/ThreadImpl;
         2: .line 99
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.threadMBean:Lsun/management/ThreadImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized java.lang.management.RuntimeMXBean getRuntimeMXBean();
    descriptor: ()Ljava/lang/management/RuntimeMXBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 103
            getstatic sun.management.ManagementFactory.runtimeMBean:Lsun/management/RuntimeImpl;
            ifnonnull 2
         1: .line 104
            new sun.management.RuntimeImpl
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.RuntimeImpl.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.runtimeMBean:Lsun/management/RuntimeImpl;
         2: .line 106
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.runtimeMBean:Lsun/management/RuntimeImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized java.lang.management.CompilationMXBean getCompilationMXBean();
    descriptor: ()Ljava/lang/management/CompilationMXBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 110
            getstatic sun.management.ManagementFactory.compileMBean:Lsun/management/CompilationImpl;
            ifnonnull 2
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokeinterface sun.management.VMManagement.getCompilerName:()Ljava/lang/String;
            ifnull 2
         1: .line 111
            new sun.management.CompilationImpl
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.CompilationImpl.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.compileMBean:Lsun/management/CompilationImpl;
         2: .line 113
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.compileMBean:Lsun/management/CompilationImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized java.lang.management.OperatingSystemMXBean getOperatingSystemMXBean();
    descriptor: ()Ljava/lang/management/OperatingSystemMXBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=0, args_size=0
         0: .line 117
            getstatic sun.management.ManagementFactory.osMBean:Lsun/management/OperatingSystemImpl;
            ifnonnull 3
         1: .line 119
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokestatic com.sun.management.OSMBeanFactory.getOperatingSystemMXBean:(Lsun/management/VMManagement;)Ljava/lang/management/OperatingSystemMXBean;
         2: .line 118
            checkcast sun.management.OperatingSystemImpl
            putstatic sun.management.ManagementFactory.osMBean:Lsun/management/OperatingSystemImpl;
         3: .line 121
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.osMBean:Lsun/management/OperatingSystemImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.List<java.lang.management.MemoryPoolMXBean> getMemoryPoolMXBeans();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=0
         0: .line 125
            invokestatic sun.management.MemoryImpl.getMemoryPools:()[Ljava/lang/management/MemoryPoolMXBean;
            astore 0 /* pools */
        start local 0 // java.lang.management.MemoryPoolMXBean[] pools
         1: .line 126
            new java.util.ArrayList
            dup
            aload 0 /* pools */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* list */
        start local 1 // java.util.List list
         2: .line 127
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 128
      StackMap locals: java.lang.management.MemoryPoolMXBean[] java.util.List int
      StackMap stack:
            aload 0 /* pools */
            iload 2 /* i */
            aaload
            astore 3 /* p */
        start local 3 // java.lang.management.MemoryPoolMXBean p
         5: .line 129
            aload 1 /* list */
            aload 3 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.management.MemoryPoolMXBean p
         6: .line 127
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* pools */
            arraylength
            if_icmplt 4
        end local 2 // int i
         8: .line 131
            aload 1 /* list */
            areturn
        end local 1 // java.util.List list
        end local 0 // java.lang.management.MemoryPoolMXBean[] pools
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    9     0  pools  [Ljava/lang/management/MemoryPoolMXBean;
            2    9     1   list  Ljava/util/List<Ljava/lang/management/MemoryPoolMXBean;>;
            3    8     2      i  I
            5    6     3      p  Ljava/lang/management/MemoryPoolMXBean;
    Signature: ()Ljava/util/List<Ljava/lang/management/MemoryPoolMXBean;>;

  public static java.util.List<java.lang.management.MemoryManagerMXBean> getMemoryManagerMXBeans();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=0
         0: .line 135
            invokestatic sun.management.MemoryImpl.getMemoryManagers:()[Ljava/lang/management/MemoryManagerMXBean;
            astore 0 /* mgrs */
        start local 0 // java.lang.management.MemoryManagerMXBean[] mgrs
         1: .line 136
            new java.util.ArrayList
            dup
            aload 0 /* mgrs */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* result */
        start local 1 // java.util.List result
         2: .line 137
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 138
      StackMap locals: java.lang.management.MemoryManagerMXBean[] java.util.List int
      StackMap stack:
            aload 0 /* mgrs */
            iload 2 /* i */
            aaload
            astore 3 /* m */
        start local 3 // java.lang.management.MemoryManagerMXBean m
         5: .line 139
            aload 1 /* result */
            aload 3 /* m */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.management.MemoryManagerMXBean m
         6: .line 137
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* mgrs */
            arraylength
            if_icmplt 4
        end local 2 // int i
         8: .line 141
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // java.lang.management.MemoryManagerMXBean[] mgrs
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    9     0    mgrs  [Ljava/lang/management/MemoryManagerMXBean;
            2    9     1  result  Ljava/util/List<Ljava/lang/management/MemoryManagerMXBean;>;
            3    8     2       i  I
            5    6     3       m  Ljava/lang/management/MemoryManagerMXBean;
    Signature: ()Ljava/util/List<Ljava/lang/management/MemoryManagerMXBean;>;

  public static java.util.List<java.lang.management.GarbageCollectorMXBean> getGarbageCollectorMXBeans();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=0
         0: .line 145
            invokestatic sun.management.MemoryImpl.getMemoryManagers:()[Ljava/lang/management/MemoryManagerMXBean;
            astore 0 /* mgrs */
        start local 0 // java.lang.management.MemoryManagerMXBean[] mgrs
         1: .line 146
            new java.util.ArrayList
            dup
            aload 0 /* mgrs */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* result */
        start local 1 // java.util.List result
         2: .line 147
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 8
         4: .line 148
      StackMap locals: java.lang.management.MemoryManagerMXBean[] java.util.List int
      StackMap stack:
            aload 0 /* mgrs */
            iload 2 /* i */
            aaload
            instanceof java.lang.management.GarbageCollectorMXBean
            ifeq 7
         5: .line 149
            aload 0 /* mgrs */
            iload 2 /* i */
            aaload
            checkcast java.lang.management.GarbageCollectorMXBean
            astore 3 /* gc */
        start local 3 // java.lang.management.GarbageCollectorMXBean gc
         6: .line 150
            aload 1 /* result */
            aload 3 /* gc */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.management.GarbageCollectorMXBean gc
         7: .line 147
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* mgrs */
            arraylength
            if_icmplt 4
        end local 2 // int i
         9: .line 153
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // java.lang.management.MemoryManagerMXBean[] mgrs
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1   10     0    mgrs  [Ljava/lang/management/MemoryManagerMXBean;
            2   10     1  result  Ljava/util/List<Ljava/lang/management/GarbageCollectorMXBean;>;
            3    9     2       i  I
            6    7     3      gc  Ljava/lang/management/GarbageCollectorMXBean;
    Signature: ()Ljava/util/List<Ljava/lang/management/GarbageCollectorMXBean;>;

  public static synchronized com.sun.management.HotSpotDiagnosticMXBean getDiagnosticMXBean();
    descriptor: ()Lcom/sun/management/HotSpotDiagnosticMXBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=0, args_size=0
         0: .line 164
            getstatic sun.management.ManagementFactory.hsDiagMBean:Lsun/management/HotSpotDiagnostic;
            ifnonnull 2
         1: .line 165
            new sun.management.HotSpotDiagnostic
            dup
            invokespecial sun.management.HotSpotDiagnostic.<init>:()V
            putstatic sun.management.ManagementFactory.hsDiagMBean:Lsun/management/HotSpotDiagnostic;
         2: .line 167
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.hsDiagMBean:Lsun/management/HotSpotDiagnostic;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized sun.management.HotspotRuntimeMBean getHotspotRuntimeMBean();
    descriptor: ()Lsun/management/HotspotRuntimeMBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 176
            getstatic sun.management.ManagementFactory.hsRuntimeMBean:Lsun/management/HotspotRuntime;
            ifnonnull 2
         1: .line 177
            new sun.management.HotspotRuntime
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.HotspotRuntime.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.hsRuntimeMBean:Lsun/management/HotspotRuntime;
         2: .line 179
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.hsRuntimeMBean:Lsun/management/HotspotRuntime;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized sun.management.HotspotClassLoadingMBean getHotspotClassLoadingMBean();
    descriptor: ()Lsun/management/HotspotClassLoadingMBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 186
            getstatic sun.management.ManagementFactory.hsClassMBean:Lsun/management/HotspotClassLoading;
            ifnonnull 2
         1: .line 187
            new sun.management.HotspotClassLoading
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.HotspotClassLoading.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.hsClassMBean:Lsun/management/HotspotClassLoading;
         2: .line 189
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.hsClassMBean:Lsun/management/HotspotClassLoading;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized sun.management.HotspotThreadMBean getHotspotThreadMBean();
    descriptor: ()Lsun/management/HotspotThreadMBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 196
            getstatic sun.management.ManagementFactory.hsThreadMBean:Lsun/management/HotspotThread;
            ifnonnull 2
         1: .line 197
            new sun.management.HotspotThread
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.HotspotThread.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.hsThreadMBean:Lsun/management/HotspotThread;
         2: .line 199
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.hsThreadMBean:Lsun/management/HotspotThread;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized sun.management.HotspotMemoryMBean getHotspotMemoryMBean();
    descriptor: ()Lsun/management/HotspotMemoryMBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 206
            getstatic sun.management.ManagementFactory.hsMemoryMBean:Lsun/management/HotspotMemory;
            ifnonnull 2
         1: .line 207
            new sun.management.HotspotMemory
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.HotspotMemory.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.hsMemoryMBean:Lsun/management/HotspotMemory;
         2: .line 209
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.hsMemoryMBean:Lsun/management/HotspotMemory;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized sun.management.HotspotCompilationMBean getHotspotCompilationMBean();
    descriptor: ()Lsun/management/HotspotCompilationMBean;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=0, args_size=0
         0: .line 216
            getstatic sun.management.ManagementFactory.hsCompileMBean:Lsun/management/HotspotCompilation;
            ifnonnull 2
         1: .line 217
            new sun.management.HotspotCompilation
            dup
            getstatic sun.management.ManagementFactory.jvm:Lsun/management/VMManagement;
            invokespecial sun.management.HotspotCompilation.<init>:(Lsun/management/VMManagement;)V
            putstatic sun.management.ManagementFactory.hsCompileMBean:Lsun/management/HotspotCompilation;
         2: .line 219
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.hsCompileMBean:Lsun/management/HotspotCompilation;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void checkAccess(java.security.Permission);
    descriptor: (Ljava/security/Permission;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.security.Permission p
         0: .line 239
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 240
            aload 1 /* sm */
            ifnull 3
         2: .line 241
            aload 1 /* sm */
            aload 0 /* p */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 243
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.security.Permission p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     p  Ljava/security/Permission;
            1    4     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
      Name  Flags
      p     

  static void checkMonitorAccess();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 246
            getstatic sun.management.ManagementFactory.monitorPermission:Ljava/security/Permission;
            invokestatic sun.management.ManagementFactory.checkAccess:(Ljava/security/Permission;)V
         1: .line 247
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.SecurityException

  static void checkControlAccess();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 249
            getstatic sun.management.ManagementFactory.controlPermission:Ljava/security/Permission;
            invokestatic sun.management.ManagementFactory.checkAccess:(Ljava/security/Permission;)V
         1: .line 250
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.SecurityException

  private static void addMXBean(javax.management.MBeanServer, java.lang.Object, java.lang.String, javax.management.NotificationEmitter);
    descriptor: (Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // javax.management.MBeanServer mbs
        start local 1 // java.lang.Object mbean
        start local 2 // java.lang.String mbeanName
        start local 3 // javax.management.NotificationEmitter emitter
         0: .line 266
            aload 3 /* emitter */
            ifnonnull 3
         1: .line 267
            new javax.management.StandardMBean
            dup
            aload 1 /* mbean */
            aconst_null
            iconst_1
            invokespecial javax.management.StandardMBean.<init>:(Ljava/lang/Object;Ljava/lang/Class;Z)V
            astore 4 /* dmbean */
        start local 4 // javax.management.DynamicMBean dmbean
         2: .line 268
            goto 4
        end local 4 // javax.management.DynamicMBean dmbean
         3: .line 269
      StackMap locals:
      StackMap stack:
            new javax.management.StandardEmitterMBean
            dup
            aload 1 /* mbean */
            aconst_null
            iconst_1
            aload 3 /* emitter */
            invokespecial javax.management.StandardEmitterMBean.<init>:(Ljava/lang/Object;Ljava/lang/Class;ZLjavax/management/NotificationEmitter;)V
            astore 4 /* dmbean */
        start local 4 // javax.management.DynamicMBean dmbean
         4: .line 271
      StackMap locals: javax.management.DynamicMBean
      StackMap stack:
            aload 0 /* mbs */
            aload 4 /* dmbean */
            aload 2 /* mbeanName */
            iconst_0
            invokestatic sun.management.ManagementFactory.addMBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Z)V
         5: .line 272
            return
        end local 4 // javax.management.DynamicMBean dmbean
        end local 3 // javax.management.NotificationEmitter emitter
        end local 2 // java.lang.String mbeanName
        end local 1 // java.lang.Object mbean
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0        mbs  Ljavax/management/MBeanServer;
            0    6     1      mbean  Ljava/lang/Object;
            0    6     2  mbeanName  Ljava/lang/String;
            0    6     3    emitter  Ljavax/management/NotificationEmitter;
            2    3     4     dmbean  Ljavax/management/DynamicMBean;
            4    6     4     dmbean  Ljavax/management/DynamicMBean;
    MethodParameters:
           Name  Flags
      mbs        
      mbean      
      mbeanName  
      emitter    

  private static void addMBean(javax.management.MBeanServer, java.lang.Object, java.lang.String);
    descriptor: (Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javax.management.MBeanServer mbs
        start local 1 // java.lang.Object mbean
        start local 2 // java.lang.String mbeanName
         0: .line 279
            aload 0 /* mbs */
            aload 1 /* mbean */
            aload 2 /* mbeanName */
            iconst_0
            invokestatic sun.management.ManagementFactory.addMBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Z)V
         1: .line 280
            return
        end local 2 // java.lang.String mbeanName
        end local 1 // java.lang.Object mbean
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0        mbs  Ljavax/management/MBeanServer;
            0    2     1      mbean  Ljava/lang/Object;
            0    2     2  mbeanName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      mbs        
      mbean      
      mbeanName  

  private static void addMBean(javax.management.MBeanServer, java.lang.Object, java.lang.String, boolean);
    descriptor: (Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // javax.management.MBeanServer mbs
        start local 1 // java.lang.Object mbean
        start local 2 // java.lang.String mbeanName
        start local 3 // boolean ignoreConflicts
         0: .line 285
            new javax.management.ObjectName
            dup
            aload 2 /* mbeanName */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 4 /* objName */
        start local 4 // javax.management.ObjectName objName
         1: .line 288
            aload 0 /* mbs */
            astore 5 /* mbs0 */
        start local 5 // javax.management.MBeanServer mbs0
         2: .line 289
            aload 1 /* mbean */
            astore 6 /* mbean0 */
        start local 6 // java.lang.Object mbean0
         3: .line 290
            iload 3 /* ignoreConflicts */
            istore 7 /* ignore */
        start local 7 // boolean ignore
         4: .line 291
            new sun.management.ManagementFactory$1
            dup
            aload 5 /* mbs0 */
            aload 6 /* mbean0 */
            aload 4 /* objName */
            iload 7 /* ignore */
            invokespecial sun.management.ManagementFactory$1.<init>:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        end local 7 // boolean ignore
        end local 6 // java.lang.Object mbean0
        end local 5 // javax.management.MBeanServer mbs0
        end local 4 // javax.management.ObjectName objName
         5: .line 311
            goto 10
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         6: astore 4 /* e */
        start local 4 // java.security.PrivilegedActionException e
         7: .line 312
            aload 4 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            invokestatic sun.management.Util.newException:(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.security.PrivilegedActionException e
         8: .line 313
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
            astore 4 /* e */
        start local 4 // javax.management.MalformedObjectNameException e
         9: .line 315
            aload 4 /* e */
            invokestatic sun.management.Util.newException:(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // javax.management.MalformedObjectNameException e
        10: .line 317
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean ignoreConflicts
        end local 2 // java.lang.String mbeanName
        end local 1 // java.lang.Object mbean
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0              mbs  Ljavax/management/MBeanServer;
            0   11     1            mbean  Ljava/lang/Object;
            0   11     2        mbeanName  Ljava/lang/String;
            0   11     3  ignoreConflicts  Z
            1    5     4          objName  Ljavax/management/ObjectName;
            2    5     5             mbs0  Ljavax/management/MBeanServer;
            3    5     6           mbean0  Ljava/lang/Object;
            4    5     7           ignore  Z
            7    8     4                e  Ljava/security/PrivilegedActionException;
            9   10     4                e  Ljavax/management/MalformedObjectNameException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.security.PrivilegedActionException
           0     5       8  Class javax.management.MalformedObjectNameException
    MethodParameters:
                 Name  Flags
      mbs              
      mbean            
      mbeanName        
      ignoreConflicts  

  public static javax.management.MBeanServer createPlatformMBeanServer();
    descriptor: ()Ljavax/management/MBeanServer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 320
            invokestatic javax.management.MBeanServerFactory.createMBeanServer:()Ljavax/management/MBeanServer;
            astore 0 /* mbs */
        start local 0 // javax.management.MBeanServer mbs
         1: .line 322
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getClassLoadingMXBean:()Ljava/lang/management/ClassLoadingMXBean;
         2: .line 323
            ldc "java.lang:type=ClassLoading"
            aconst_null
         3: .line 322
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
         4: .line 324
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getMemoryMXBean:()Ljava/lang/management/MemoryMXBean;
         5: .line 325
            ldc "java.lang:type=Memory"
            invokestatic sun.management.ManagementFactory.getMemoryMXBean:()Ljava/lang/management/MemoryMXBean;
            checkcast javax.management.NotificationEmitter
         6: .line 324
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
         7: .line 326
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getOperatingSystemMXBean:()Ljava/lang/management/OperatingSystemMXBean;
         8: .line 327
            ldc "java.lang:type=OperatingSystem"
            aconst_null
         9: .line 326
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
        10: .line 328
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getRuntimeMXBean:()Ljava/lang/management/RuntimeMXBean;
        11: .line 329
            ldc "java.lang:type=Runtime"
            aconst_null
        12: .line 328
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
        13: .line 330
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getThreadMXBean:()Ljava/lang/management/ThreadMXBean;
        14: .line 331
            ldc "java.lang:type=Threading"
            aconst_null
        15: .line 330
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
        16: .line 332
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getDiagnosticMXBean:()Lcom/sun/management/HotSpotDiagnosticMXBean;
        17: .line 333
            ldc "com.sun.management:type=HotSpotDiagnostic"
            aconst_null
        18: .line 332
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
        19: .line 336
            invokestatic sun.management.ManagementFactory.getCompilationMXBean:()Ljava/lang/management/CompilationMXBean;
            ifnull 23
        20: .line 337
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getCompilationMXBean:()Ljava/lang/management/CompilationMXBean;
        21: .line 338
            ldc "java.lang:type=Compilation"
            aconst_null
        22: .line 337
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
        23: .line 342
      StackMap locals: javax.management.MBeanServer
      StackMap stack:
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.addMemoryManagers:(Ljavax/management/MBeanServer;)V
        24: .line 343
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.addMemoryPools:(Ljavax/management/MBeanServer;)V
        25: .line 346
            aload 0 /* mbs */
            invokestatic java.util.logging.LogManager.getLoggingMXBean:()Ljava/util/logging/LoggingMXBean;
        26: .line 347
            ldc "java.util.logging:type=Logging"
            aconst_null
        27: .line 346
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
        28: .line 349
            aload 0 /* mbs */
            areturn
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   29     0   mbs  Ljavax/management/MBeanServer;

  static synchronized javax.management.ObjectName getHotspotInternalObjectName();
    descriptor: ()Ljavax/management/ObjectName;
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=0
         0: .line 375
            getstatic sun.management.ManagementFactory.hsInternalObjName:Ljavax/management/ObjectName;
            ifnonnull 5
         1: .line 377
            new javax.management.ObjectName
            dup
            ldc "sun.management:type=HotspotInternal"
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            putstatic sun.management.ManagementFactory.hsInternalObjName:Ljavax/management/ObjectName;
         2: .line 378
            goto 5
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
         3: astore 0 /* e */
        start local 0 // javax.management.MalformedObjectNameException e
         4: .line 380
            aload 0 /* e */
            invokestatic sun.management.Util.newException:(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // javax.management.MalformedObjectNameException e
         5: .line 383
      StackMap locals:
      StackMap stack:
            getstatic sun.management.ManagementFactory.hsInternalObjName:Ljavax/management/ObjectName;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    5     0     e  Ljavax/management/MalformedObjectNameException;
      Exception table:
        from    to  target  type
           1     2       3  Class javax.management.MalformedObjectNameException

  static void registerInternalMBeans(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.management.MBeanServer mbs
         0: .line 390
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getHotspotClassLoadingMBean:()Lsun/management/HotspotClassLoadingMBean;
         1: .line 391
            ldc "sun.management:type=HotspotClassLoading"
            iconst_1
         2: .line 390
            invokestatic sun.management.ManagementFactory.addMBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Z)V
         3: .line 392
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getHotspotMemoryMBean:()Lsun/management/HotspotMemoryMBean;
         4: .line 393
            ldc "sun.management:type=HotspotMemory"
            iconst_1
         5: .line 392
            invokestatic sun.management.ManagementFactory.addMBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Z)V
         6: .line 394
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getHotspotRuntimeMBean:()Lsun/management/HotspotRuntimeMBean;
         7: .line 395
            ldc "sun.management:type=HotspotRuntime"
            iconst_1
         8: .line 394
            invokestatic sun.management.ManagementFactory.addMBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Z)V
         9: .line 396
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getHotspotThreadMBean:()Lsun/management/HotspotThreadMBean;
        10: .line 397
            ldc "sun.management:type=HotspotThreading"
            iconst_1
        11: .line 396
            invokestatic sun.management.ManagementFactory.addMBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Z)V
        12: .line 400
            invokestatic sun.management.ManagementFactory.getCompilationMXBean:()Ljava/lang/management/CompilationMXBean;
            ifnull 16
        13: .line 401
            aload 0 /* mbs */
            invokestatic sun.management.ManagementFactory.getHotspotCompilationMBean:()Lsun/management/HotspotCompilationMBean;
        14: .line 402
            ldc "sun.management:type=HotspotCompilation"
            iconst_1
        15: .line 401
            invokestatic sun.management.ManagementFactory.addMBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Z)V
        16: .line 404
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0   mbs  Ljavax/management/MBeanServer;
    MethodParameters:
      Name  Flags
      mbs   

  private static void unregisterMBean(javax.management.MBeanServer, java.lang.String);
    descriptor: (Ljavax/management/MBeanServer;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.management.MBeanServer mbs
        start local 1 // java.lang.String mbeanName
         0: .line 408
            new javax.management.ObjectName
            dup
            aload 1 /* mbeanName */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* objName */
        start local 2 // javax.management.ObjectName objName
         1: .line 411
            aload 0 /* mbs */
            astore 3 /* mbs0 */
        start local 3 // javax.management.MBeanServer mbs0
         2: .line 412
            new sun.management.ManagementFactory$2
            dup
            aload 3 /* mbs0 */
            aload 2 /* objName */
            invokespecial sun.management.ManagementFactory$2.<init>:(Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        end local 3 // javax.management.MBeanServer mbs0
        end local 2 // javax.management.ObjectName objName
         3: .line 423
            goto 8
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         4: astore 2 /* e */
        start local 2 // java.security.PrivilegedActionException e
         5: .line 424
            aload 2 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            invokestatic sun.management.Util.newException:(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.security.PrivilegedActionException e
         6: .line 425
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
            astore 2 /* e */
        start local 2 // javax.management.MalformedObjectNameException e
         7: .line 427
            aload 2 /* e */
            invokestatic sun.management.Util.newException:(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // javax.management.MalformedObjectNameException e
         8: .line 429
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String mbeanName
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0        mbs  Ljavax/management/MBeanServer;
            0    9     1  mbeanName  Ljava/lang/String;
            1    3     2    objName  Ljavax/management/ObjectName;
            2    3     3       mbs0  Ljavax/management/MBeanServer;
            5    6     2          e  Ljava/security/PrivilegedActionException;
            7    8     2          e  Ljavax/management/MalformedObjectNameException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.security.PrivilegedActionException
           0     3       6  Class javax.management.MalformedObjectNameException
    MethodParameters:
           Name  Flags
      mbs        
      mbeanName  

  static void unregisterInternalMBeans(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.MBeanServer mbs
         0: .line 433
            aload 0 /* mbs */
            ldc "sun.management:type=HotspotClassLoading"
            invokestatic sun.management.ManagementFactory.unregisterMBean:(Ljavax/management/MBeanServer;Ljava/lang/String;)V
         1: .line 434
            aload 0 /* mbs */
            ldc "sun.management:type=HotspotMemory"
            invokestatic sun.management.ManagementFactory.unregisterMBean:(Ljavax/management/MBeanServer;Ljava/lang/String;)V
         2: .line 435
            aload 0 /* mbs */
            ldc "sun.management:type=HotspotRuntime"
            invokestatic sun.management.ManagementFactory.unregisterMBean:(Ljavax/management/MBeanServer;Ljava/lang/String;)V
         3: .line 436
            aload 0 /* mbs */
            ldc "sun.management:type=HotspotThreading"
            invokestatic sun.management.ManagementFactory.unregisterMBean:(Ljavax/management/MBeanServer;Ljava/lang/String;)V
         4: .line 439
            invokestatic sun.management.ManagementFactory.getCompilationMXBean:()Ljava/lang/management/CompilationMXBean;
            ifnull 6
         5: .line 440
            aload 0 /* mbs */
            ldc "sun.management:type=HotspotCompilation"
            invokestatic sun.management.ManagementFactory.unregisterMBean:(Ljavax/management/MBeanServer;Ljava/lang/String;)V
         6: .line 442
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   mbs  Ljavax/management/MBeanServer;
    MethodParameters:
      Name  Flags
      mbs   

  private static synchronized void addMemoryPools(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // javax.management.MBeanServer mbs
         0: .line 447
            invokestatic sun.management.MemoryImpl.getMemoryPools:()[Ljava/lang/management/MemoryPoolMXBean;
            astore 1 /* newPools */
        start local 1 // java.lang.management.MemoryPoolMXBean[] newPools
         1: .line 449
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 450
      StackMap locals: java.lang.management.MemoryPoolMXBean[] int
      StackMap stack:
            aload 1 /* newPools */
            iload 2 /* i */
            aaload
            invokestatic sun.management.Util.getMBeanObjectName:(Ljava/lang/management/MemoryPoolMXBean;)Ljava/lang/String;
            astore 3 /* poolObjNameString */
        start local 3 // java.lang.String poolObjNameString
         4: .line 451
            aload 0 /* mbs */
            aload 1 /* newPools */
            iload 2 /* i */
            aaload
            aload 3 /* poolObjNameString */
            aconst_null
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
        end local 3 // java.lang.String poolObjNameString
         5: .line 449
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* newPools */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 453
            return
        end local 1 // java.lang.management.MemoryPoolMXBean[] newPools
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0                mbs  Ljavax/management/MBeanServer;
            1    8     1           newPools  [Ljava/lang/management/MemoryPoolMXBean;
            2    7     2                  i  I
            4    5     3  poolObjNameString  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      mbs   

  private static synchronized void addMemoryManagers(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // javax.management.MBeanServer mbs
         0: .line 459
            invokestatic sun.management.MemoryImpl.getMemoryManagers:()[Ljava/lang/management/MemoryManagerMXBean;
            astore 1 /* newMgrs */
        start local 1 // java.lang.management.MemoryManagerMXBean[] newMgrs
         1: .line 461
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 462
      StackMap locals: java.lang.management.MemoryManagerMXBean[] int
      StackMap stack:
            aload 1 /* newMgrs */
            iload 2 /* i */
            aaload
            invokestatic sun.management.Util.getMBeanObjectName:(Ljava/lang/management/MemoryManagerMXBean;)Ljava/lang/String;
            astore 3 /* mgrObjNameString */
        start local 3 // java.lang.String mgrObjNameString
         4: .line 463
            aload 0 /* mbs */
            aload 1 /* newMgrs */
            iload 2 /* i */
            aaload
            aload 3 /* mgrObjNameString */
            aconst_null
            invokestatic sun.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/Object;Ljava/lang/String;Ljavax/management/NotificationEmitter;)V
        end local 3 // java.lang.String mgrObjNameString
         5: .line 461
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* newMgrs */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 465
            return
        end local 1 // java.lang.management.MemoryManagerMXBean[] newMgrs
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0               mbs  Ljavax/management/MBeanServer;
            1    8     1           newMgrs  [Ljava/lang/management/MemoryManagerMXBean;
            2    7     2                 i  I
            4    5     3  mgrObjNameString  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      mbs   

  private static java.lang.management.MemoryPoolMXBean createMemoryPool(java.lang.String, boolean, long, long);
    descriptor: (Ljava/lang/String;ZJJ)Ljava/lang/management/MemoryPoolMXBean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // java.lang.String name
        start local 1 // boolean isHeap
        start local 2 // long uThreshold
        start local 4 // long gcThreshold
         0: .line 470
            new sun.management.MemoryPoolImpl
            dup
            aload 0 /* name */
            iload 1 /* isHeap */
            lload 2 /* uThreshold */
            lload 4 /* gcThreshold */
            invokespecial sun.management.MemoryPoolImpl.<init>:(Ljava/lang/String;ZJJ)V
            areturn
        end local 4 // long gcThreshold
        end local 2 // long uThreshold
        end local 1 // boolean isHeap
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         name  Ljava/lang/String;
            0    1     1       isHeap  Z
            0    1     2   uThreshold  J
            0    1     4  gcThreshold  J
    MethodParameters:
             Name  Flags
      name         
      isHeap       
      uThreshold   
      gcThreshold  

  private static java.lang.management.MemoryManagerMXBean createMemoryManager(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/management/MemoryManagerMXBean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 474
            new sun.management.MemoryManagerImpl
            dup
            aload 0 /* name */
            invokespecial sun.management.MemoryManagerImpl.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private static java.lang.management.GarbageCollectorMXBean createGarbageCollector(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/management/GarbageCollectorMXBean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String type
         0: .line 481
            new sun.management.GarbageCollectorImpl
            dup
            aload 0 /* name */
            invokespecial sun.management.GarbageCollectorImpl.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String type
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
            0    1     1  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  
      type  

  public static boolean isThreadSuspended(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int state
         0: .line 490
            iload 0 /* state */
            ldc 1048576
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  state  I
    MethodParameters:
       Name  Flags
      state  

  public static boolean isThreadRunningNative(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int state
         0: .line 494
            iload 0 /* state */
            ldc 4194304
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  state  I
    MethodParameters:
       Name  Flags
      state  

  public static java.lang.Thread$State toThreadState(int);
    descriptor: (I)Ljava/lang/Thread$State;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int state
         0: .line 499
            iload 0 /* state */
            ldc 1048575
            iand
            istore 1 /* threadStatus */
        start local 1 // int threadStatus
         1: .line 500
            iload 1 /* threadStatus */
            invokestatic sun.misc.VM.toThreadState:(I)Ljava/lang/Thread$State;
            areturn
        end local 1 // int threadStatus
        end local 0 // int state
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0         state  I
            1    2     1  threadStatus  I
    MethodParameters:
       Name  Flags
      state  
}
SourceFile: "ManagementFactory.java"
NestMembers:
  sun.management.ManagementFactory$1  sun.management.ManagementFactory$2
InnerClasses:
  public final State = java.lang.Thread$State of java.lang.Thread
  sun.management.ManagementFactory$1
  sun.management.ManagementFactory$2