public class com.sun.management.internal.GarbageCollectorExtImpl extends sun.management.GarbageCollectorImpl implements com.sun.management.GarbageCollectorMXBean
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.management.internal.GarbageCollectorExtImpl
super_class: sun.management.GarbageCollectorImpl
{
private java.lang.String[] poolNames;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String notifName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.management.Notification"
private static final java.lang.String[] gcNotifTypes;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static long seqNumber;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private com.sun.management.internal.GcInfoBuilder gcInfoBuilder;
descriptor: Lcom/sun/management/internal/GcInfoBuilder;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
anewarray java.lang.String
dup
iconst_0
1: ldc "com.sun.management.gc.notification"
aastore
2: putstatic com.sun.management.internal.GarbageCollectorExtImpl.gcNotifTypes:[Ljava/lang/String;
3: lconst_0
putstatic com.sun.management.internal.GarbageCollectorExtImpl.seqNumber:J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.management.GarbageCollectorImpl.<init>:(Ljava/lang/String;)V
1: aload 0
aconst_null
putfield com.sun.management.internal.GarbageCollectorExtImpl.poolNames:[Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
0 3 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private synchronized java.lang.String[] getAllPoolNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield com.sun.management.internal.GarbageCollectorExtImpl.poolNames:[Ljava/lang/String;
ifnonnull 8
1: invokestatic java.lang.management.ManagementFactory.getMemoryPoolMXBeans:()Ljava/util/List;
astore 1
start local 1 2: aload 0
aload 1
invokeinterface java.util.List.size:()I
anewarray java.lang.String
putfield com.sun.management.internal.GarbageCollectorExtImpl.poolNames:[Ljava/lang/String;
3: iconst_0
istore 2
start local 2 4: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.sun.management.internal.GarbageCollectorExtImpl java.util.List int top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.management.MemoryPoolMXBean
astore 3
start local 3 6: aload 0
getfield com.sun.management.internal.GarbageCollectorExtImpl.poolNames:[Ljava/lang/String;
iload 2
iinc 2 1
aload 3
invokeinterface java.lang.management.MemoryPoolMXBean.getName:()Ljava/lang/String;
aastore
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 2 end local 1 8: StackMap locals: com.sun.management.internal.GarbageCollectorExtImpl
StackMap stack:
aload 0
getfield com.sun.management.internal.GarbageCollectorExtImpl.poolNames:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
2 8 1 pools Ljava/util/List<Ljava/lang/management/MemoryPoolMXBean;>;
4 8 2 i I
6 7 3 m Ljava/lang/management/MemoryPoolMXBean;
public com.sun.management.GcInfo getLastGcInfo();
descriptor: ()Lcom/sun/management/GcInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.getGcInfoBuilder:()Lcom/sun/management/internal/GcInfoBuilder;
invokevirtual com.sun.management.internal.GcInfoBuilder.getLastGcInfo:()Lcom/sun/management/GcInfo;
astore 1
start local 1 1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
1 2 1 info Lcom/sun/management/GcInfo;
public javax.management.MBeanNotificationInfo[] getNotificationInfo();
descriptor: ()[Ljavax/management/MBeanNotificationInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=1, args_size=1
start local 0 0: iconst_1
anewarray javax.management.MBeanNotificationInfo
dup
iconst_0
1: new javax.management.MBeanNotificationInfo
dup
getstatic com.sun.management.internal.GarbageCollectorExtImpl.gcNotifTypes:[Ljava/lang/String;
2: ldc "javax.management.Notification"
3: ldc "GC Notification"
4: invokespecial javax.management.MBeanNotificationInfo.<init>:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
aastore
5: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
private static long getNextSeqNumber();
descriptor: ()J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: getstatic com.sun.management.internal.GarbageCollectorExtImpl.seqNumber:J
lconst_1
ladd
dup2
putstatic com.sun.management.internal.GarbageCollectorExtImpl.seqNumber:J
lreturn
LocalVariableTable:
Start End Slot Name Signature
protected void createGCNotification(long, java.lang.String, java.lang.String, java.lang.String, com.sun.management.GcInfo);
descriptor: (JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/sun/management/GcInfo;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=10, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.hasListeners:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
new javax.management.Notification
dup
ldc "com.sun.management.gc.notification"
3: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.getObjectName:()Ljavax/management/ObjectName;
4: invokestatic com.sun.management.internal.GarbageCollectorExtImpl.getNextSeqNumber:()J
5: lload 1
6: aload 3
7: invokespecial javax.management.Notification.<init>:(Ljava/lang/String;Ljava/lang/Object;JJLjava/lang/String;)V
astore 7
start local 7 8: new com.sun.management.GarbageCollectionNotificationInfo
dup
aload 3
9: aload 4
10: aload 5
11: aload 6
12: invokespecial com.sun.management.GarbageCollectionNotificationInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/sun/management/GcInfo;)V
13: astore 8
start local 8 14: aload 8
invokestatic com.sun.management.internal.GarbageCollectionNotifInfoCompositeData.toCompositeData:(Lcom/sun/management/GarbageCollectionNotificationInfo;)Ljavax/management/openmbean/CompositeData;
15: astore 9
start local 9 16: aload 7
aload 9
invokevirtual javax.management.Notification.setUserData:(Ljava/lang/Object;)V
17: aload 0
aload 7
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.sendNotification:(Ljavax/management/Notification;)V
18: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
0 19 1 timestamp J
0 19 3 gcName Ljava/lang/String;
0 19 4 gcAction Ljava/lang/String;
0 19 5 gcCause Ljava/lang/String;
0 19 6 gcInfo Lcom/sun/management/GcInfo;
8 19 7 notif Ljavax/management/Notification;
14 19 8 info Lcom/sun/management/GarbageCollectionNotificationInfo;
16 19 9 cd Ljavax/management/openmbean/CompositeData;
MethodParameters:
Name Flags
timestamp
gcName
gcAction
gcCause
gcInfo
public synchronized void addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.hasListeners:()Z
istore 4
start local 4 1: aload 0
aload 1
aload 2
aload 3
invokespecial sun.management.GarbageCollectorImpl.addNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
2: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.hasListeners:()Z
istore 5
start local 5 3: iload 4
ifne 5
iload 5
ifeq 5
4: aload 0
aload 0
iconst_1
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.setNotificationEnabled:(Lcom/sun/management/GarbageCollectorMXBean;Z)V
5: StackMap locals: int int
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
0 6 1 listener Ljavax/management/NotificationListener;
0 6 2 filter Ljavax/management/NotificationFilter;
0 6 3 handback Ljava/lang/Object;
1 6 4 before Z
3 6 5 after Z
MethodParameters:
Name Flags
listener
filter
handback
public synchronized void removeNotificationListener(javax.management.NotificationListener);
descriptor: (Ljavax/management/NotificationListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.hasListeners:()Z
istore 2
start local 2 1: aload 0
aload 1
invokespecial sun.management.GarbageCollectorImpl.removeNotificationListener:(Ljavax/management/NotificationListener;)V
2: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.hasListeners:()Z
istore 3
start local 3 3: iload 2
ifeq 5
iload 3
ifne 5
4: aload 0
aload 0
iconst_0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.setNotificationEnabled:(Lcom/sun/management/GarbageCollectorMXBean;Z)V
5: StackMap locals: int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
0 6 1 listener Ljavax/management/NotificationListener;
1 6 2 before Z
3 6 3 after Z
Exceptions:
throws javax.management.ListenerNotFoundException
MethodParameters:
Name Flags
listener
public synchronized void removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.hasListeners:()Z
istore 4
start local 4 1: aload 0
aload 1
aload 2
aload 3
invokespecial sun.management.GarbageCollectorImpl.removeNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
2: aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.hasListeners:()Z
istore 5
start local 5 3: iload 4
ifeq 5
iload 5
ifne 5
4: aload 0
aload 0
iconst_0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.setNotificationEnabled:(Lcom/sun/management/GarbageCollectorMXBean;Z)V
5: StackMap locals: int int
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
0 6 1 listener Ljavax/management/NotificationListener;
0 6 2 filter Ljavax/management/NotificationFilter;
0 6 3 handback Ljava/lang/Object;
1 6 4 before Z
3 6 5 after Z
Exceptions:
throws javax.management.ListenerNotFoundException
MethodParameters:
Name Flags
listener
filter
handback
private synchronized com.sun.management.internal.GcInfoBuilder getGcInfoBuilder();
descriptor: ()Lcom/sun/management/internal/GcInfoBuilder;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.management.internal.GarbageCollectorExtImpl.gcInfoBuilder:Lcom/sun/management/internal/GcInfoBuilder;
ifnonnull 2
1: aload 0
new com.sun.management.internal.GcInfoBuilder
dup
aload 0
aload 0
invokevirtual com.sun.management.internal.GarbageCollectorExtImpl.getAllPoolNames:()[Ljava/lang/String;
invokespecial com.sun.management.internal.GcInfoBuilder.<init>:(Ljava/lang/management/GarbageCollectorMXBean;[Ljava/lang/String;)V
putfield com.sun.management.internal.GarbageCollectorExtImpl.gcInfoBuilder:Lcom/sun/management/internal/GcInfoBuilder;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.management.internal.GarbageCollectorExtImpl.gcInfoBuilder:Lcom/sun/management/internal/GcInfoBuilder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/management/internal/GarbageCollectorExtImpl;
private native void setNotificationEnabled(com.sun.management.GarbageCollectorMXBean, boolean);
descriptor: (Lcom/sun/management/GarbageCollectorMXBean;Z)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
gc
enabled
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 start local 1 0: new com.sun.management.internal.GarbageCollectorExtImpl
dup
aload 0
invokespecial com.sun.management.internal.GarbageCollectorExtImpl.<init>:(Ljava/lang/String;)V
areturn
end local 1 end local 0 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 java.lang.String[] getMemoryPoolNames();
descriptor: ()[Ljava/lang/String;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.management.GarbageCollectorImpl.getMemoryPoolNames:()[Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isValid();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.management.GarbageCollectorImpl.isValid:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.management.GarbageCollectorImpl.getName:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "GarbageCollectorExtImpl.java"