class sun.management.MemoryPoolImpl implements java.lang.management.MemoryPoolMXBean
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.management.MemoryPoolImpl
super_class: java.lang.Object
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isHeap;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isValid;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean collectionThresholdSupported;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean usageThresholdSupported;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.management.MemoryManagerMXBean[] managers;
descriptor: [Ljava/lang/management/MemoryManagerMXBean;
flags: (0x0002) ACC_PRIVATE
private long usageThreshold;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long collectionThreshold;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean usageSensorRegistered;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean gcSensorRegistered;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.management.Sensor usageSensor;
descriptor: Lsun/management/Sensor;
flags: (0x0002) ACC_PRIVATE
private sun.management.Sensor gcSensor;
descriptor: Lsun/management/Sensor;
flags: (0x0002) ACC_PRIVATE
void <init>(java.lang.String, boolean, long, long);
descriptor: (Ljava/lang/String;ZJJ)V
flags: (0x0000)
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.management.MemoryPoolImpl.name:Ljava/lang/String;
2: aload 0
iload 2
putfield sun.management.MemoryPoolImpl.isHeap:Z
3: aload 0
iconst_1
putfield sun.management.MemoryPoolImpl.isValid:Z
4: aload 0
aconst_null
putfield sun.management.MemoryPoolImpl.managers:[Ljava/lang/management/MemoryManagerMXBean;
5: aload 0
lload 3
putfield sun.management.MemoryPoolImpl.usageThreshold:J
6: aload 0
lload 5
putfield sun.management.MemoryPoolImpl.collectionThreshold:J
7: aload 0
lload 3
lconst_0
lcmp
iflt 8
iconst_1
goto 9
StackMap locals: sun.management.MemoryPoolImpl java.lang.String int long long
StackMap stack: sun.management.MemoryPoolImpl
8: iconst_0
StackMap locals: sun.management.MemoryPoolImpl java.lang.String int long long
StackMap stack: sun.management.MemoryPoolImpl int
9: putfield sun.management.MemoryPoolImpl.usageThresholdSupported:Z
10: aload 0
lload 5
lconst_0
lcmp
iflt 11
iconst_1
goto 12
StackMap locals:
StackMap stack: sun.management.MemoryPoolImpl
11: iconst_0
StackMap locals: sun.management.MemoryPoolImpl java.lang.String int long long
StackMap stack: sun.management.MemoryPoolImpl int
12: putfield sun.management.MemoryPoolImpl.collectionThresholdSupported:Z
13: aload 0
new sun.management.MemoryPoolImpl$PoolSensor
dup
aload 0
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " usage sensor"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.management.MemoryPoolImpl$PoolSensor.<init>:(Lsun/management/MemoryPoolImpl;Lsun/management/MemoryPoolImpl;Ljava/lang/String;)V
putfield sun.management.MemoryPoolImpl.usageSensor:Lsun/management/Sensor;
14: aload 0
new sun.management.MemoryPoolImpl$CollectionSensor
dup
aload 0
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " collection sensor"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.management.MemoryPoolImpl$CollectionSensor.<init>:(Lsun/management/MemoryPoolImpl;Lsun/management/MemoryPoolImpl;Ljava/lang/String;)V
putfield sun.management.MemoryPoolImpl.gcSensor:Lsun/management/Sensor;
15: aload 0
iconst_0
putfield sun.management.MemoryPoolImpl.usageSensorRegistered:Z
16: aload 0
iconst_0
putfield sun.management.MemoryPoolImpl.gcSensorRegistered:Z
17: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/management/MemoryPoolImpl;
0 18 1 name Ljava/lang/String;
0 18 2 isHeap Z
0 18 3 usageThreshold J
0 18 5 gcThreshold J
MethodParameters:
Name Flags
name
isHeap
usageThreshold
gcThreshold
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.MemoryPoolImpl.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/MemoryPoolImpl;
public boolean isValid();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.MemoryPoolImpl.isValid:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/MemoryPoolImpl;
public java.lang.management.MemoryType getType();
descriptor: ()Ljava/lang/management/MemoryType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.MemoryPoolImpl.isHeap:Z
ifeq 2
1: getstatic java.lang.management.MemoryType.HEAP:Ljava/lang/management/MemoryType;
areturn
2: StackMap locals:
StackMap stack:
getstatic java.lang.management.MemoryType.NON_HEAP:Ljava/lang/management/MemoryType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/management/MemoryPoolImpl;
public java.lang.management.MemoryUsage getUsage();
descriptor: ()Ljava/lang/management/MemoryUsage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.getUsage0:()Ljava/lang/management/MemoryUsage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/MemoryPoolImpl;
public synchronized java.lang.management.MemoryUsage getPeakUsage();
descriptor: ()Ljava/lang/management/MemoryUsage;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.getPeakUsage0:()Ljava/lang/management/MemoryUsage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/MemoryPoolImpl;
public synchronized long getUsageThreshold();
descriptor: ()J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.isUsageThresholdSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Usage threshold is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.MemoryPoolImpl.usageThreshold:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/management/MemoryPoolImpl;
public void setUsageThreshold(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.isUsageThresholdSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Usage threshold is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
invokestatic sun.management.Util.checkControlAccess:()V
5: aload 0
invokevirtual sun.management.MemoryPoolImpl.getUsage0:()Ljava/lang/management/MemoryUsage;
astore 3
start local 3 6: lload 1
lconst_0
lcmp
ifge 10
7: new java.lang.IllegalArgumentException
dup
8: new java.lang.StringBuilder
dup
ldc "Invalid threshold: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.lang.management.MemoryUsage
StackMap stack:
aload 3
invokevirtual java.lang.management.MemoryUsage.getMax:()J
ldc -1
lcmp
ifeq 18
lload 1
aload 3
invokevirtual java.lang.management.MemoryUsage.getMax:()J
lcmp
ifle 18
11: new java.lang.IllegalArgumentException
dup
12: new java.lang.StringBuilder
dup
ldc "Invalid threshold: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
13: ldc " must be <= maxSize."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc " Committed = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.management.MemoryUsage.getCommitted:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
15: ldc " Max = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.management.MemoryUsage.getMax:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
16: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
19: aload 0
getfield sun.management.MemoryPoolImpl.usageSensorRegistered:Z
ifne 22
20: aload 0
iconst_1
putfield sun.management.MemoryPoolImpl.usageSensorRegistered:Z
21: aload 0
aload 0
getfield sun.management.MemoryPoolImpl.usageSensor:Lsun/management/Sensor;
invokevirtual sun.management.MemoryPoolImpl.setPoolUsageSensor:(Lsun/management/Sensor;)V
22: StackMap locals: sun.management.MemoryPoolImpl
StackMap stack:
aload 0
aload 0
getfield sun.management.MemoryPoolImpl.usageThreshold:J
lload 1
invokevirtual sun.management.MemoryPoolImpl.setUsageThreshold0:(JJ)V
23: aload 0
lload 1
putfield sun.management.MemoryPoolImpl.usageThreshold:J
24: aload 4
monitorexit
25: goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
26: aload 4
monitorexit
27: athrow
28: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/management/MemoryPoolImpl;
0 29 1 newThreshold J
6 29 3 usage Ljava/lang/management/MemoryUsage;
Exception table:
from to target type
19 25 26 any
26 27 26 any
MethodParameters:
Name Flags
newThreshold
private synchronized java.lang.management.MemoryManagerMXBean[] getMemoryManagers();
descriptor: ()[Ljava/lang/management/MemoryManagerMXBean;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.MemoryPoolImpl.managers:[Ljava/lang/management/MemoryManagerMXBean;
ifnonnull 2
1: aload 0
aload 0
invokevirtual sun.management.MemoryPoolImpl.getMemoryManagers0:()[Ljava/lang/management/MemoryManagerMXBean;
putfield sun.management.MemoryPoolImpl.managers:[Ljava/lang/management/MemoryManagerMXBean;
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.MemoryPoolImpl.managers:[Ljava/lang/management/MemoryManagerMXBean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/management/MemoryPoolImpl;
public java.lang.String[] getMemoryManagerNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.getMemoryManagers:()[Ljava/lang/management/MemoryManagerMXBean;
astore 1
start local 1 1: aload 1
arraylength
anewarray java.lang.String
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.management.MemoryManagerMXBean[] java.lang.String[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
invokeinterface java.lang.management.MemoryManagerMXBean.getName:()Ljava/lang/String;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/management/MemoryPoolImpl;
1 8 1 mgrs [Ljava/lang/management/MemoryManagerMXBean;
2 8 2 names [Ljava/lang/String;
3 7 3 i I
public void resetPeakUsage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic sun.management.Util.checkControlAccess:()V
1: aload 0
dup
astore 1
monitorenter
2: aload 0
invokevirtual sun.management.MemoryPoolImpl.resetPeakUsage0:()V
3: aload 1
monitorexit
4: goto 7
StackMap locals: sun.management.MemoryPoolImpl sun.management.MemoryPoolImpl
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/management/MemoryPoolImpl;
Exception table:
from to target type
2 4 5 any
5 6 5 any
public boolean isUsageThresholdExceeded();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.isUsageThresholdSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Usage threshold is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.MemoryPoolImpl.usageThreshold:J
lconst_0
lcmp
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.MemoryPoolImpl.getUsage0:()Ljava/lang/management/MemoryUsage;
astore 1
start local 1 7: aload 1
invokevirtual java.lang.management.MemoryUsage.getUsed:()J
aload 0
getfield sun.management.MemoryPoolImpl.usageThreshold:J
lcmp
ifge 10
8: aload 0
getfield sun.management.MemoryPoolImpl.usageSensor:Lsun/management/Sensor;
invokevirtual sun.management.Sensor.isOn:()Z
ifne 10
9: iconst_0
ireturn
StackMap locals: java.lang.management.MemoryUsage
StackMap stack:
10: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/management/MemoryPoolImpl;
7 11 1 u Ljava/lang/management/MemoryUsage;
public long getUsageThresholdCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.isUsageThresholdSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Usage threshold is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.MemoryPoolImpl.usageSensor:Lsun/management/Sensor;
invokevirtual sun.management.Sensor.getCount:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/management/MemoryPoolImpl;
public boolean isUsageThresholdSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.MemoryPoolImpl.usageThresholdSupported:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/MemoryPoolImpl;
public synchronized long getCollectionUsageThreshold();
descriptor: ()J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.isCollectionUsageThresholdSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "CollectionUsage threshold is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.MemoryPoolImpl.collectionThreshold:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/management/MemoryPoolImpl;
public void setCollectionUsageThreshold(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.isCollectionUsageThresholdSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "CollectionUsage threshold is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
invokestatic sun.management.Util.checkControlAccess:()V
5: aload 0
invokevirtual sun.management.MemoryPoolImpl.getUsage0:()Ljava/lang/management/MemoryUsage;
astore 3
start local 3 6: lload 1
lconst_0
lcmp
ifge 10
7: new java.lang.IllegalArgumentException
dup
8: new java.lang.StringBuilder
dup
ldc "Invalid threshold: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.lang.management.MemoryUsage
StackMap stack:
aload 3
invokevirtual java.lang.management.MemoryUsage.getMax:()J
ldc -1
lcmp
ifeq 16
lload 1
aload 3
invokevirtual java.lang.management.MemoryUsage.getMax:()J
lcmp
ifle 16
11: new java.lang.IllegalArgumentException
dup
12: new java.lang.StringBuilder
dup
ldc "Invalid threshold: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
13: ldc " > max ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.management.MemoryUsage.getMax:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
17: aload 0
getfield sun.management.MemoryPoolImpl.gcSensorRegistered:Z
ifne 20
18: aload 0
iconst_1
putfield sun.management.MemoryPoolImpl.gcSensorRegistered:Z
19: aload 0
aload 0
getfield sun.management.MemoryPoolImpl.gcSensor:Lsun/management/Sensor;
invokevirtual sun.management.MemoryPoolImpl.setPoolCollectionSensor:(Lsun/management/Sensor;)V
20: StackMap locals: sun.management.MemoryPoolImpl
StackMap stack:
aload 0
aload 0
getfield sun.management.MemoryPoolImpl.collectionThreshold:J
lload 1
invokevirtual sun.management.MemoryPoolImpl.setCollectionThreshold0:(JJ)V
21: aload 0
lload 1
putfield sun.management.MemoryPoolImpl.collectionThreshold:J
22: aload 4
monitorexit
23: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
24: aload 4
monitorexit
25: athrow
26: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/management/MemoryPoolImpl;
0 27 1 newThreshold J
6 27 3 usage Ljava/lang/management/MemoryUsage;
Exception table:
from to target type
17 23 24 any
24 25 24 any
MethodParameters:
Name Flags
newThreshold
public boolean isCollectionUsageThresholdExceeded();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.isCollectionUsageThresholdSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "CollectionUsage threshold is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.MemoryPoolImpl.collectionThreshold:J
lconst_0
lcmp
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.MemoryPoolImpl.getCollectionUsage0:()Ljava/lang/management/MemoryUsage;
astore 1
start local 1 7: aload 0
getfield sun.management.MemoryPoolImpl.gcSensor:Lsun/management/Sensor;
invokevirtual sun.management.Sensor.isOn:()Z
ifne 11
8: aload 1
ifnull 10
aload 1
invokevirtual java.lang.management.MemoryUsage.getUsed:()J
aload 0
getfield sun.management.MemoryPoolImpl.collectionThreshold:J
9: lcmp
ifge 11
StackMap locals: java.lang.management.MemoryUsage
StackMap stack:
10: iconst_0
ireturn
StackMap locals:
StackMap stack:
11: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/management/MemoryPoolImpl;
7 12 1 u Ljava/lang/management/MemoryUsage;
public long getCollectionUsageThresholdCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.isCollectionUsageThresholdSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "CollectionUsage threshold is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.MemoryPoolImpl.gcSensor:Lsun/management/Sensor;
invokevirtual sun.management.Sensor.getCount:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/management/MemoryPoolImpl;
public java.lang.management.MemoryUsage getCollectionUsage();
descriptor: ()Ljava/lang/management/MemoryUsage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.MemoryPoolImpl.getCollectionUsage0:()Ljava/lang/management/MemoryUsage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/MemoryPoolImpl;
public boolean isCollectionUsageThresholdSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.MemoryPoolImpl.collectionThresholdSupported:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/MemoryPoolImpl;
private native java.lang.management.MemoryUsage getUsage0();
descriptor: ()Ljava/lang/management/MemoryUsage;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private native java.lang.management.MemoryUsage getPeakUsage0();
descriptor: ()Ljava/lang/management/MemoryUsage;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private native java.lang.management.MemoryUsage getCollectionUsage0();
descriptor: ()Ljava/lang/management/MemoryUsage;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private native void setUsageThreshold0(long, long);
descriptor: (JJ)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
current
newThreshold
private native void setCollectionThreshold0(long, long);
descriptor: (JJ)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
current
newThreshold
private native void resetPeakUsage0();
descriptor: ()V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private native java.lang.management.MemoryManagerMXBean[] getMemoryManagers0();
descriptor: ()[Ljava/lang/management/MemoryManagerMXBean;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private native void setPoolUsageSensor(sun.management.Sensor);
descriptor: (Lsun/management/Sensor;)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
s
private native void setPoolCollectionSensor(sun.management.Sensor);
descriptor: (Lsun/management/Sensor;)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
s
public javax.management.ObjectName getObjectName();
descriptor: ()Ljavax/management/ObjectName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "java.lang:type=MemoryPool"
aload 0
invokevirtual sun.management.MemoryPoolImpl.getName:()Ljava/lang/String;
invokestatic sun.management.Util.newObjectName:(Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/MemoryPoolImpl;
}
SourceFile: "MemoryPoolImpl.java"
NestMembers:
sun.management.MemoryPoolImpl$CollectionSensor sun.management.MemoryPoolImpl$PoolSensor
InnerClasses:
CollectionSensor = sun.management.MemoryPoolImpl$CollectionSensor of sun.management.MemoryPoolImpl
PoolSensor = sun.management.MemoryPoolImpl$PoolSensor of sun.management.MemoryPoolImpl