class sun.tools.jconsole.MemoryTab extends sun.tools.jconsole.Tab implements java.awt.event.ActionListener, java.awt.event.ItemListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.tools.jconsole.MemoryTab
super_class: sun.tools.jconsole.Tab
{
javax.swing.JComboBox<sun.tools.jconsole.Plotter> plotterChoice;
descriptor: Ljavax/swing/JComboBox;
flags: (0x0000)
Signature: Ljavax/swing/JComboBox<Lsun/tools/jconsole/Plotter;>;
sun.tools.jconsole.TimeComboBox timeComboBox;
descriptor: Lsun/tools/jconsole/TimeComboBox;
flags: (0x0000)
javax.swing.JButton gcButton;
descriptor: Ljavax/swing/JButton;
flags: (0x0000)
sun.tools.jconsole.PlotterPanel plotterPanel;
descriptor: Lsun/tools/jconsole/PlotterPanel;
flags: (0x0000)
javax.swing.JPanel bottomPanel;
descriptor: Ljavax/swing/JPanel;
flags: (0x0000)
sun.tools.jconsole.HTMLPane details;
descriptor: Lsun/tools/jconsole/HTMLPane;
flags: (0x0000)
sun.tools.jconsole.MemoryTab$PoolChart poolChart;
descriptor: Lsun/tools/jconsole/MemoryTab$PoolChart;
flags: (0x0000)
java.util.ArrayList<sun.tools.jconsole.Plotter> plotterList;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Lsun/tools/jconsole/Plotter;>;
sun.tools.jconsole.Plotter heapPlotter;
descriptor: Lsun/tools/jconsole/Plotter;
flags: (0x0000)
sun.tools.jconsole.Plotter nonHeapPlotter;
descriptor: Lsun/tools/jconsole/Plotter;
flags: (0x0000)
private sun.tools.jconsole.MemoryTab$MemoryOverviewPanel overviewPanel;
descriptor: Lsun/tools/jconsole/MemoryTab$MemoryOverviewPanel;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String usedKey;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "used"
private static final java.lang.String committedKey;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "committed"
private static final java.lang.String maxKey;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "max"
private static final java.lang.String thresholdKey;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "threshold"
private static final java.awt.Color usedColor;
descriptor: Ljava/awt/Color;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.awt.Color committedColor;
descriptor: Ljava/awt/Color;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.awt.Color maxColor;
descriptor: Ljava/awt/Color;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.awt.Color thresholdColor;
descriptor: Ljava/awt/Color;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.tools.jconsole.Plotter.defaultColor:Ljava/awt/Color;
putstatic sun.tools.jconsole.MemoryTab.usedColor:Ljava/awt/Color;
1: aconst_null
putstatic sun.tools.jconsole.MemoryTab.committedColor:Ljava/awt/Color;
2: aconst_null
putstatic sun.tools.jconsole.MemoryTab.maxColor:Ljava/awt/Color;
3: getstatic java.awt.Color.red:Ljava/awt/Color;
putstatic sun.tools.jconsole.MemoryTab.thresholdColor:Ljava/awt/Color;
return
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getTabName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.tools.jconsole.Messages.MEMORY:Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void <init>(sun.tools.jconsole.VMPanel);
descriptor: (Lsun/tools/jconsole/VMPanel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.tools.jconsole.MemoryTab.getTabName:()Ljava/lang/String;
invokespecial sun.tools.jconsole.Tab.<init>:(Lsun/tools/jconsole/VMPanel;Ljava/lang/String;)V
1: aload 0
new java.awt.BorderLayout
dup
iconst_0
iconst_0
invokespecial java.awt.BorderLayout.<init>:(II)V
invokevirtual sun.tools.jconsole.MemoryTab.setLayout:(Ljava/awt/LayoutManager;)V
2: aload 0
new javax.swing.border.EmptyBorder
dup
iconst_4
iconst_4
iconst_3
iconst_4
invokespecial javax.swing.border.EmptyBorder.<init>:(IIII)V
invokevirtual sun.tools.jconsole.MemoryTab.setBorder:(Ljavax/swing/border/Border;)V
3: new javax.swing.JPanel
dup
new java.awt.BorderLayout
dup
invokespecial java.awt.BorderLayout.<init>:()V
invokespecial javax.swing.JPanel.<init>:(Ljava/awt/LayoutManager;)V
astore 2
start local 2 4: aload 0
new sun.tools.jconsole.PlotterPanel
dup
aconst_null
invokespecial sun.tools.jconsole.PlotterPanel.<init>:(Ljava/lang/String;)V
putfield sun.tools.jconsole.MemoryTab.plotterPanel:Lsun/tools/jconsole/PlotterPanel;
5: aload 0
new javax.swing.JPanel
dup
new java.awt.BorderLayout
dup
invokespecial java.awt.BorderLayout.<init>:()V
invokespecial javax.swing.JPanel.<init>:(Ljava/awt/LayoutManager;)V
putfield sun.tools.jconsole.MemoryTab.bottomPanel:Ljavax/swing/JPanel;
6: aload 0
aload 2
ldc "North"
invokevirtual sun.tools.jconsole.MemoryTab.add:(Ljava/awt/Component;Ljava/lang/Object;)V
7: aload 0
aload 0
getfield sun.tools.jconsole.MemoryTab.plotterPanel:Lsun/tools/jconsole/PlotterPanel;
ldc "Center"
invokevirtual sun.tools.jconsole.MemoryTab.add:(Ljava/awt/Component;Ljava/lang/Object;)V
8: new javax.swing.JPanel
dup
new java.awt.FlowLayout
dup
iconst_3
bipush 20
iconst_5
invokespecial java.awt.FlowLayout.<init>:(III)V
invokespecial javax.swing.JPanel.<init>:(Ljava/awt/LayoutManager;)V
astore 3
start local 3 9: aload 2
aload 3
ldc "Center"
invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
10: aload 0
new javax.swing.JComboBox
dup
invokespecial javax.swing.JComboBox.<init>:()V
putfield sun.tools.jconsole.MemoryTab.plotterChoice:Ljavax/swing/JComboBox;
11: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterChoice:Ljavax/swing/JComboBox;
aload 0
invokevirtual javax.swing.JComboBox.addItemListener:(Ljava/awt/event/ItemListener;)V
12: aload 3
new sun.tools.jconsole.LabeledComponent
dup
getstatic sun.tools.jconsole.Messages.CHART_COLON:Ljava/lang/String;
13: getstatic sun.tools.jconsole.Messages.CHART_COLON:Ljava/lang/String;
invokestatic sun.tools.jconsole.Resources.getMnemonicInt:(Ljava/lang/String;)I
14: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterChoice:Ljavax/swing/JComboBox;
invokespecial sun.tools.jconsole.LabeledComponent.<init>:(Ljava/lang/String;ILjavax/swing/JComponent;)V
15: invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;)Ljava/awt/Component;
pop
16: aload 0
new sun.tools.jconsole.TimeComboBox
dup
iconst_0
anewarray sun.tools.jconsole.Plotter
invokespecial sun.tools.jconsole.TimeComboBox.<init>:([Lsun/tools/jconsole/Plotter;)V
putfield sun.tools.jconsole.MemoryTab.timeComboBox:Lsun/tools/jconsole/TimeComboBox;
17: aload 3
new sun.tools.jconsole.LabeledComponent
dup
getstatic sun.tools.jconsole.Messages.TIME_RANGE_COLON:Ljava/lang/String;
18: getstatic sun.tools.jconsole.Messages.TIME_RANGE_COLON:Ljava/lang/String;
invokestatic sun.tools.jconsole.Resources.getMnemonicInt:(Ljava/lang/String;)I
19: aload 0
getfield sun.tools.jconsole.MemoryTab.timeComboBox:Lsun/tools/jconsole/TimeComboBox;
invokespecial sun.tools.jconsole.LabeledComponent.<init>:(Ljava/lang/String;ILjavax/swing/JComponent;)V
20: invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;)Ljava/awt/Component;
pop
21: aload 0
new javax.swing.JButton
dup
getstatic sun.tools.jconsole.Messages.PERFORM_GC:Ljava/lang/String;
invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;)V
putfield sun.tools.jconsole.MemoryTab.gcButton:Ljavax/swing/JButton;
22: aload 0
getfield sun.tools.jconsole.MemoryTab.gcButton:Ljavax/swing/JButton;
getstatic sun.tools.jconsole.Messages.PERFORM_GC:Ljava/lang/String;
invokestatic sun.tools.jconsole.Resources.getMnemonicInt:(Ljava/lang/String;)I
invokevirtual javax.swing.JButton.setMnemonic:(I)V
23: aload 0
getfield sun.tools.jconsole.MemoryTab.gcButton:Ljavax/swing/JButton;
aload 0
invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
24: aload 0
getfield sun.tools.jconsole.MemoryTab.gcButton:Ljavax/swing/JButton;
getstatic sun.tools.jconsole.Messages.PERFORM_GC_TOOLTIP:Ljava/lang/String;
invokevirtual javax.swing.JButton.setToolTipText:(Ljava/lang/String;)V
25: new javax.swing.JPanel
dup
invokespecial javax.swing.JPanel.<init>:()V
astore 4
start local 4 26: aload 4
new javax.swing.border.EmptyBorder
dup
iconst_0
bipush 57
iconst_0
bipush 70
invokespecial javax.swing.border.EmptyBorder.<init>:(IIII)V
invokevirtual javax.swing.JPanel.setBorder:(Ljavax/swing/border/Border;)V
27: aload 4
aload 0
getfield sun.tools.jconsole.MemoryTab.gcButton:Ljavax/swing/JButton;
invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;)Ljava/awt/Component;
pop
28: aload 2
aload 4
ldc "After"
invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
29: aload 0
getfield sun.tools.jconsole.MemoryTab.bottomPanel:Ljavax/swing/JPanel;
new javax.swing.border.CompoundBorder
dup
new javax.swing.border.TitledBorder
dup
getstatic sun.tools.jconsole.Messages.DETAILS:Ljava/lang/String;
invokespecial javax.swing.border.TitledBorder.<init>:(Ljava/lang/String;)V
30: new javax.swing.border.EmptyBorder
dup
bipush 10
bipush 10
bipush 10
bipush 10
invokespecial javax.swing.border.EmptyBorder.<init>:(IIII)V
invokespecial javax.swing.border.CompoundBorder.<init>:(Ljavax/swing/border/Border;Ljavax/swing/border/Border;)V
31: invokevirtual javax.swing.JPanel.setBorder:(Ljavax/swing/border/Border;)V
32: aload 0
new sun.tools.jconsole.HTMLPane
dup
invokespecial sun.tools.jconsole.HTMLPane.<init>:()V
putfield sun.tools.jconsole.MemoryTab.details:Lsun/tools/jconsole/HTMLPane;
33: aload 0
getfield sun.tools.jconsole.MemoryTab.details:Lsun/tools/jconsole/HTMLPane;
getstatic sun.tools.jconsole.Messages.DETAILS:Ljava/lang/String;
invokestatic sun.tools.jconsole.Utilities.setAccessibleName:(Ljavax/accessibility/Accessible;Ljava/lang/String;)V
34: aload 0
getfield sun.tools.jconsole.MemoryTab.bottomPanel:Ljavax/swing/JPanel;
new javax.swing.JScrollPane
dup
aload 0
getfield sun.tools.jconsole.MemoryTab.details:Lsun/tools/jconsole/HTMLPane;
invokespecial javax.swing.JScrollPane.<init>:(Ljava/awt/Component;)V
ldc "Center"
invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
35: aload 0
new sun.tools.jconsole.MemoryTab$PoolChart
dup
aload 0
invokespecial sun.tools.jconsole.MemoryTab$PoolChart.<init>:(Lsun/tools/jconsole/MemoryTab;)V
putfield sun.tools.jconsole.MemoryTab.poolChart:Lsun/tools/jconsole/MemoryTab$PoolChart;
36: aload 0
getfield sun.tools.jconsole.MemoryTab.bottomPanel:Ljavax/swing/JPanel;
aload 0
getfield sun.tools.jconsole.MemoryTab.poolChart:Lsun/tools/jconsole/MemoryTab$PoolChart;
ldc "After"
invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
37: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/tools/jconsole/MemoryTab;
0 38 1 vmPanel Lsun/tools/jconsole/VMPanel;
4 38 2 topPanel Ljavax/swing/JPanel;
9 38 3 controlPanel Ljavax/swing/JPanel;
26 38 4 topRightPanel Ljavax/swing/JPanel;
MethodParameters:
Name Flags
vmPanel
private void createPlotters();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=15, args_size=1
start local 0 0: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.tools.jconsole.MemoryTab.plotterList:Ljava/util/ArrayList;
1: aload 0
getfield sun.tools.jconsole.MemoryTab.vmPanel:Lsun/tools/jconsole/VMPanel;
invokevirtual sun.tools.jconsole.VMPanel.getProxyClient:()Lsun/tools/jconsole/ProxyClient;
astore 1
start local 1 2: aload 0
new sun.tools.jconsole.MemoryTab$1
dup
aload 0
getstatic sun.tools.jconsole.Plotter$Unit.BYTES:Lsun/tools/jconsole/Plotter$Unit;
invokespecial sun.tools.jconsole.MemoryTab$1.<init>:(Lsun/tools/jconsole/MemoryTab;Lsun/tools/jconsole/Plotter$Unit;)V
putfield sun.tools.jconsole.MemoryTab.heapPlotter:Lsun/tools/jconsole/Plotter;
3: aload 1
aload 0
getfield sun.tools.jconsole.MemoryTab.heapPlotter:Lsun/tools/jconsole/Plotter;
invokevirtual sun.tools.jconsole.ProxyClient.addWeakPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
4: aload 0
new sun.tools.jconsole.MemoryTab$2
dup
aload 0
getstatic sun.tools.jconsole.Plotter$Unit.BYTES:Lsun/tools/jconsole/Plotter$Unit;
invokespecial sun.tools.jconsole.MemoryTab$2.<init>:(Lsun/tools/jconsole/MemoryTab;Lsun/tools/jconsole/Plotter$Unit;)V
putfield sun.tools.jconsole.MemoryTab.nonHeapPlotter:Lsun/tools/jconsole/Plotter;
5: aload 0
getfield sun.tools.jconsole.MemoryTab.heapPlotter:Lsun/tools/jconsole/Plotter;
6: getstatic sun.tools.jconsole.Messages.MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME:Ljava/lang/String;
7: invokestatic sun.tools.jconsole.Utilities.setAccessibleName:(Ljavax/accessibility/Accessible;Ljava/lang/String;)V
8: aload 0
getfield sun.tools.jconsole.MemoryTab.nonHeapPlotter:Lsun/tools/jconsole/Plotter;
9: getstatic sun.tools.jconsole.Messages.MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME:Ljava/lang/String;
10: invokestatic sun.tools.jconsole.Utilities.setAccessibleName:(Ljavax/accessibility/Accessible;Ljava/lang/String;)V
11: aload 1
aload 0
getfield sun.tools.jconsole.MemoryTab.nonHeapPlotter:Lsun/tools/jconsole/Plotter;
invokevirtual sun.tools.jconsole.ProxyClient.addWeakPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
12: aload 0
getfield sun.tools.jconsole.MemoryTab.heapPlotter:Lsun/tools/jconsole/Plotter;
ldc "used"
getstatic sun.tools.jconsole.Messages.USED:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.usedColor:Ljava/awt/Color;
iconst_1
invokevirtual sun.tools.jconsole.Plotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
13: aload 0
getfield sun.tools.jconsole.MemoryTab.heapPlotter:Lsun/tools/jconsole/Plotter;
ldc "committed"
getstatic sun.tools.jconsole.Messages.COMMITTED:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.committedColor:Ljava/awt/Color;
iconst_0
invokevirtual sun.tools.jconsole.Plotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
14: aload 0
getfield sun.tools.jconsole.MemoryTab.heapPlotter:Lsun/tools/jconsole/Plotter;
ldc "max"
getstatic sun.tools.jconsole.Messages.MAX:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.maxColor:Ljava/awt/Color;
iconst_0
invokevirtual sun.tools.jconsole.Plotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
15: aload 0
getfield sun.tools.jconsole.MemoryTab.nonHeapPlotter:Lsun/tools/jconsole/Plotter;
ldc "used"
getstatic sun.tools.jconsole.Messages.USED:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.usedColor:Ljava/awt/Color;
iconst_1
invokevirtual sun.tools.jconsole.Plotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
16: aload 0
getfield sun.tools.jconsole.MemoryTab.nonHeapPlotter:Lsun/tools/jconsole/Plotter;
ldc "committed"
getstatic sun.tools.jconsole.Messages.COMMITTED:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.committedColor:Ljava/awt/Color;
iconst_0
invokevirtual sun.tools.jconsole.Plotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
17: aload 0
getfield sun.tools.jconsole.MemoryTab.nonHeapPlotter:Lsun/tools/jconsole/Plotter;
ldc "max"
getstatic sun.tools.jconsole.Messages.MAX:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.maxColor:Ljava/awt/Color;
iconst_0
invokevirtual sun.tools.jconsole.Plotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
18: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterList:Ljava/util/ArrayList;
aload 0
getfield sun.tools.jconsole.MemoryTab.heapPlotter:Lsun/tools/jconsole/Plotter;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
19: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterList:Ljava/util/ArrayList;
aload 0
getfield sun.tools.jconsole.MemoryTab.nonHeapPlotter:Lsun/tools/jconsole/Plotter;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
20: aload 1
ldc "java.lang"
invokevirtual sun.tools.jconsole.ProxyClient.getMBeans:(Ljava/lang/String;)Ljava/util/Map;
astore 2
start local 2 21: aload 2
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
astore 3
start local 3 22: aload 3
aload 3
invokeinterface java.util.Set.size:()I
anewarray javax.management.ObjectName
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.management.ObjectName[]
astore 4
start local 4 23: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 24: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 50
StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.util.Map java.util.Set javax.management.ObjectName[] java.util.ArrayList top int int javax.management.ObjectName[]
StackMap stack:
25: aload 9
iload 7
aaload
astore 6
start local 6 26: aload 6
ldc "type"
invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 27: aload 10
ldc "MemoryPool"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 49
28: getstatic sun.tools.jconsole.Messages.MEMORY_POOL_LABEL:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
29: aload 6
ldc "name"
invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
aastore
30: invokestatic sun.tools.jconsole.Resources.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 11
start local 11 31: iconst_0
istore 12
start local 12 32: aload 1
aload 6
33: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "Type"
aastore
34: invokevirtual sun.tools.jconsole.ProxyClient.getAttributes:(Ljavax/management/ObjectName;[Ljava/lang/String;)Ljavax/management/AttributeList;
35: astore 13
start local 13 36: aload 13
invokevirtual javax.management.AttributeList.size:()I
ifle 38
37: getstatic java.lang.management.MemoryType.HEAP:Ljava/lang/management/MemoryType;
invokevirtual java.lang.management.MemoryType.name:()Ljava/lang/String;
aload 13
iconst_0
invokevirtual javax.management.AttributeList.get:(I)Ljava/lang/Object;
checkcast javax.management.Attribute
invokevirtual javax.management.Attribute.getValue:()Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 12
38: StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.util.Map java.util.Set javax.management.ObjectName[] java.util.ArrayList javax.management.ObjectName int int javax.management.ObjectName[] java.lang.String java.lang.String int javax.management.AttributeList
StackMap stack:
new sun.tools.jconsole.MemoryTab$PoolPlotter
dup
aload 0
aload 6
aload 11
iload 12
invokespecial sun.tools.jconsole.MemoryTab$PoolPlotter.<init>:(Lsun/tools/jconsole/MemoryTab;Ljavax/management/ObjectName;Ljava/lang/String;Z)V
astore 14
start local 14 39: aload 1
aload 14
invokevirtual sun.tools.jconsole.ProxyClient.addWeakPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
40: aload 14
ldc "used"
getstatic sun.tools.jconsole.Messages.USED:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.usedColor:Ljava/awt/Color;
iconst_1
invokevirtual sun.tools.jconsole.MemoryTab$PoolPlotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
41: aload 14
ldc "committed"
getstatic sun.tools.jconsole.Messages.COMMITTED:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.committedColor:Ljava/awt/Color;
iconst_0
invokevirtual sun.tools.jconsole.MemoryTab$PoolPlotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
42: aload 14
ldc "max"
getstatic sun.tools.jconsole.Messages.MAX:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.maxColor:Ljava/awt/Color;
iconst_0
invokevirtual sun.tools.jconsole.MemoryTab$PoolPlotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
43: aload 14
ldc "threshold"
getstatic sun.tools.jconsole.Messages.THRESHOLD:Ljava/lang/String;
getstatic sun.tools.jconsole.MemoryTab.thresholdColor:Ljava/awt/Color;
iconst_0
invokevirtual sun.tools.jconsole.MemoryTab$PoolPlotter.createSequence:(Ljava/lang/String;Ljava/lang/String;Ljava/awt/Color;Z)V
44: aload 14
ldc "threshold"
iconst_1
invokevirtual sun.tools.jconsole.MemoryTab$PoolPlotter.setUseDashedTransitions:(Ljava/lang/String;Z)V
45: iload 12
ifeq 48
46: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterList:Ljava/util/ArrayList;
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
47: goto 49
48: StackMap locals: sun.tools.jconsole.MemoryTab$PoolPlotter
StackMap stack:
aload 5
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 14 end local 13 end local 12 end local 11 end local 10 end local 6 49: StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.util.Map java.util.Set javax.management.ObjectName[] java.util.ArrayList top int int javax.management.ObjectName[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
50: iload 7
iload 8
if_icmplt 25
51: aload 5
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 7
goto 54
StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.util.Map java.util.Set javax.management.ObjectName[] java.util.ArrayList top java.util.Iterator
StackMap stack:
52: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.tools.jconsole.MemoryTab$PoolPlotter
astore 6
start local 6 53: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterList:Ljava/util/ArrayList;
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 54: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
55: 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 56 0 this Lsun/tools/jconsole/MemoryTab;
2 56 1 proxyClient Lsun/tools/jconsole/ProxyClient;
21 56 2 mBeanMap Ljava/util/Map<Ljavax/management/ObjectName;Ljavax/management/MBeanInfo;>;
22 56 3 keys Ljava/util/Set<Ljavax/management/ObjectName;>;
23 56 4 objectNames [Ljavax/management/ObjectName;
24 56 5 nonHeapPlotters Ljava/util/ArrayList<Lsun/tools/jconsole/MemoryTab$PoolPlotter;>;
26 49 6 objectName Ljavax/management/ObjectName;
27 49 10 type Ljava/lang/String;
31 49 11 name Ljava/lang/String;
32 49 12 isHeap Z
36 49 13 al Ljavax/management/AttributeList;
39 49 14 poolPlotter Lsun/tools/jconsole/MemoryTab$PoolPlotter;
53 54 6 poolPlotter Lsun/tools/jconsole/MemoryTab$PoolPlotter;
Exceptions:
throws java.io.IOException
public void itemStateChanged(java.awt.event.ItemEvent);
descriptor: (Ljava/awt/event/ItemEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.awt.event.ItemEvent.getStateChange:()I
iconst_1
if_icmpne 4
1: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterChoice:Ljavax/swing/JComboBox;
invokevirtual javax.swing.JComboBox.getSelectedItem:()Ljava/lang/Object;
checkcast sun.tools.jconsole.Plotter
astore 2
start local 2 2: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterPanel:Lsun/tools/jconsole/PlotterPanel;
aload 2
invokevirtual sun.tools.jconsole.PlotterPanel.setPlotter:(Lsun/tools/jconsole/Plotter;)V
3: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterPanel:Lsun/tools/jconsole/PlotterPanel;
invokevirtual sun.tools.jconsole.PlotterPanel.repaint:()V
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/jconsole/MemoryTab;
0 5 1 ev Ljava/awt/event/ItemEvent;
2 4 2 plotter Lsun/tools/jconsole/Plotter;
MethodParameters:
Name Flags
ev
public void gc();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.tools.jconsole.MemoryTab$3
dup
aload 0
ldc "MemoryPanel.gc"
invokespecial sun.tools.jconsole.MemoryTab$3.<init>:(Lsun/tools/jconsole/MemoryTab;Ljava/lang/String;)V
1: invokevirtual sun.tools.jconsole.MemoryTab$3.start:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/jconsole/MemoryTab;
public javax.swing.SwingWorker<?, ?> newSwingWorker();
descriptor: ()Ljavax/swing/SwingWorker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.tools.jconsole.MemoryTab$4
dup
aload 0
invokespecial sun.tools.jconsole.MemoryTab$4.<init>:(Lsun/tools/jconsole/MemoryTab;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/jconsole/MemoryTab;
Signature: ()Ljavax/swing/SwingWorker<**>;
private java.lang.String formatDetails();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=25, args_size=1
start local 0 0: aload 0
getfield sun.tools.jconsole.MemoryTab.vmPanel:Lsun/tools/jconsole/VMPanel;
invokevirtual sun.tools.jconsole.VMPanel.getProxyClient:()Lsun/tools/jconsole/ProxyClient;
astore 1
start local 1 1: aload 1
invokevirtual sun.tools.jconsole.ProxyClient.isDead:()Z
ifeq 3
2: ldc ""
areturn
3: StackMap locals: sun.tools.jconsole.ProxyClient
StackMap stack:
ldc "<table cellspacing=0 cellpadding=0>"
astore 2
start local 2 4: aload 0
getfield sun.tools.jconsole.MemoryTab.plotterChoice:Ljavax/swing/JComboBox;
invokevirtual javax.swing.JComboBox.getSelectedItem:()Ljava/lang/Object;
checkcast sun.tools.jconsole.Plotter
astore 3
start local 3 5: aload 3
ifnonnull 7
6: ldc ""
areturn
7: StackMap locals: java.lang.String sun.tools.jconsole.Plotter
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 4
start local 4 8: lload 4
invokestatic sun.tools.jconsole.Formatter.formatDateTime:(J)Ljava/lang/String;
astore 6
start local 6 9: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.jconsole.Messages.TIME:Ljava/lang/String;
aload 6
invokestatic sun.tools.jconsole.Formatter.newRow:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
10: aload 3
ldc "used"
invokevirtual sun.tools.jconsole.Plotter.getLastValue:(Ljava/lang/String;)J
lstore 7
start local 7 11: aload 3
ldc "committed"
invokevirtual sun.tools.jconsole.Plotter.getLastValue:(Ljava/lang/String;)J
lstore 9
start local 9 12: aload 3
ldc "max"
invokevirtual sun.tools.jconsole.Plotter.getLastValue:(Ljava/lang/String;)J
lstore 11
start local 11 13: aload 3
ldc "threshold"
invokevirtual sun.tools.jconsole.Plotter.getLastValue:(Ljava/lang/String;)J
lstore 13
start local 13 14: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.jconsole.Messages.USED:Ljava/lang/String;
lload 7
invokestatic sun.tools.jconsole.Formatter.formatKBytes:(J)Ljava/lang/String;
invokestatic sun.tools.jconsole.Formatter.newRow:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
15: lload 9
lconst_0
lcmp
ifle 17
16: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.jconsole.Messages.COMMITTED:Ljava/lang/String;
lload 9
invokestatic sun.tools.jconsole.Formatter.formatKBytes:(J)Ljava/lang/String;
invokestatic sun.tools.jconsole.Formatter.newRow:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
17: StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.lang.String sun.tools.jconsole.Plotter long java.lang.String long long long long
StackMap stack:
lload 11
lconst_0
lcmp
ifle 19
18: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.jconsole.Messages.MAX:Ljava/lang/String;
lload 11
invokestatic sun.tools.jconsole.Formatter.formatKBytes:(J)Ljava/lang/String;
invokestatic sun.tools.jconsole.Formatter.newRow:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
19: StackMap locals:
StackMap stack:
lload 13
lconst_0
lcmp
ifle 21
20: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.jconsole.Messages.USAGE_THRESHOLD:Ljava/lang/String;
lload 13
invokestatic sun.tools.jconsole.Formatter.formatKBytes:(J)Ljava/lang/String;
invokestatic sun.tools.jconsole.Formatter.newRow:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
21: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.tools.jconsole.ProxyClient.getGarbageCollectorMXBeans:()Ljava/util/Collection;
22: astore 15
start local 15 23: iconst_0
istore 16
start local 16 24: aload 15
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 18
goto 38
StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.lang.String sun.tools.jconsole.Plotter long java.lang.String long long long long java.util.Collection int top java.util.Iterator
StackMap stack:
25: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.management.GarbageCollectorMXBean
astore 17
start local 17 26: aload 17
invokeinterface java.lang.management.GarbageCollectorMXBean.getName:()Ljava/lang/String;
astore 19
start local 19 27: aload 17
invokeinterface java.lang.management.GarbageCollectorMXBean.getCollectionCount:()J
lstore 20
start local 20 28: aload 17
invokeinterface java.lang.management.GarbageCollectorMXBean.getCollectionTime:()J
lstore 22
start local 22 29: getstatic sun.tools.jconsole.Messages.GC_TIME_DETAILS:Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
lload 22
invokestatic sun.tools.jconsole.Formatter.formatTime:(J)Ljava/lang/String;
bipush 14
invokestatic sun.tools.jconsole.Formatter.justify:(Ljava/lang/String;I)Ljava/lang/String;
aastore
dup
iconst_1
30: aload 19
aastore
dup
iconst_2
31: ldc "%,d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 20
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aastore
32: invokestatic sun.tools.jconsole.Resources.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 24
start local 24 33: iload 16
ifne 37
34: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.tools.jconsole.Messages.GC_TIME:Ljava/lang/String;
aload 24
invokestatic sun.tools.jconsole.Formatter.newRow:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
35: iconst_1
istore 16
36: goto 38
37: StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.lang.String sun.tools.jconsole.Plotter long java.lang.String long long long long java.util.Collection int java.lang.management.GarbageCollectorMXBean java.util.Iterator java.lang.String long long java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aconst_null
aload 24
invokestatic sun.tools.jconsole.Formatter.newRow:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
end local 24 end local 22 end local 20 end local 19 end local 17 38: StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.lang.String sun.tools.jconsole.Plotter long java.lang.String long long long long java.util.Collection int top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
end local 16 end local 15 39: goto 41
StackMap locals: sun.tools.jconsole.MemoryTab sun.tools.jconsole.ProxyClient java.lang.String sun.tools.jconsole.Plotter long java.lang.String long long long long
StackMap stack: java.io.IOException
40: pop
41: StackMap locals:
StackMap stack:
aload 2
areturn
end local 13 end local 11 end local 9 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/tools/jconsole/MemoryTab;
1 42 1 proxyClient Lsun/tools/jconsole/ProxyClient;
4 42 2 text Ljava/lang/String;
5 42 3 plotter Lsun/tools/jconsole/Plotter;
8 42 4 time J
9 42 6 timeStamp Ljava/lang/String;
11 42 7 used J
12 42 9 committed J
13 42 11 max J
14 42 13 threshold J
23 39 15 garbageCollectors Ljava/util/Collection<Ljava/lang/management/GarbageCollectorMXBean;>;
24 39 16 descPrinted Z
26 38 17 garbageCollectorMBean Ljava/lang/management/GarbageCollectorMXBean;
27 38 19 gcName Ljava/lang/String;
28 38 20 gcCount J
29 38 22 gcTime J
33 38 24 str Ljava/lang/String;
Exception table:
from to target type
21 39 40 Class java.io.IOException
public void actionPerformed(java.awt.event.ActionEvent);
descriptor: (Ljava/awt/event/ActionEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.awt.event.ActionEvent.getSource:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
aload 0
getfield sun.tools.jconsole.MemoryTab.gcButton:Ljavax/swing/JButton;
if_acmpne 3
2: aload 0
invokevirtual sun.tools.jconsole.MemoryTab.gc:()V
3: StackMap locals: java.lang.Object
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/jconsole/MemoryTab;
0 4 1 ev Ljava/awt/event/ActionEvent;
1 4 2 src Ljava/lang/Object;
MethodParameters:
Name Flags
ev
sun.tools.jconsole.OverviewPanel[] getOverviewPanels();
descriptor: ()[Lsun/tools/jconsole/OverviewPanel;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.jconsole.MemoryTab.overviewPanel:Lsun/tools/jconsole/MemoryTab$MemoryOverviewPanel;
ifnonnull 2
1: aload 0
new sun.tools.jconsole.MemoryTab$MemoryOverviewPanel
dup
invokespecial sun.tools.jconsole.MemoryTab$MemoryOverviewPanel.<init>:()V
putfield sun.tools.jconsole.MemoryTab.overviewPanel:Lsun/tools/jconsole/MemoryTab$MemoryOverviewPanel;
2: StackMap locals:
StackMap stack:
iconst_1
anewarray sun.tools.jconsole.OverviewPanel
dup
iconst_0
aload 0
getfield sun.tools.jconsole.MemoryTab.overviewPanel:Lsun/tools/jconsole/MemoryTab$MemoryOverviewPanel;
aastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/jconsole/MemoryTab;
}
SourceFile: "MemoryTab.java"
NestMembers:
sun.tools.jconsole.MemoryTab$1 sun.tools.jconsole.MemoryTab$2 sun.tools.jconsole.MemoryTab$3 sun.tools.jconsole.MemoryTab$4 sun.tools.jconsole.MemoryTab$MemoryOverviewPanel sun.tools.jconsole.MemoryTab$PoolChart sun.tools.jconsole.MemoryTab$PoolChart$AccessiblePoolChart sun.tools.jconsole.MemoryTab$PoolPlotter
InnerClasses:
sun.tools.jconsole.MemoryTab$1
sun.tools.jconsole.MemoryTab$2
sun.tools.jconsole.MemoryTab$3
sun.tools.jconsole.MemoryTab$4
private MemoryOverviewPanel = sun.tools.jconsole.MemoryTab$MemoryOverviewPanel of sun.tools.jconsole.MemoryTab
private PoolChart = sun.tools.jconsole.MemoryTab$PoolChart of sun.tools.jconsole.MemoryTab
private PoolPlotter = sun.tools.jconsole.MemoryTab$PoolPlotter of sun.tools.jconsole.MemoryTab
public final Unit = sun.tools.jconsole.Plotter$Unit of sun.tools.jconsole.Plotter