public class jdk.internal.agent.ConnectorAddressLink
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.agent.ConnectorAddressLink
super_class: java.lang.Object
{
private static final java.lang.String CONNECTOR_ADDRESS_COUNTER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.management.JMXConnectorServer.address"
private static final java.lang.String REMOTE_CONNECTOR_STATE_COUNTER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.management.JMXConnectorServer.remote.enabled"
private static final java.lang.String REMOTE_CONNECTOR_COUNTER_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.management.JMXConnectorServer."
private static final java.util.concurrent.atomic.AtomicInteger counter;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static jdk.internal.agent.ConnectorAddressLink$PerfHandle remotePerfHandle;
descriptor: Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putstatic jdk.internal.agent.ConnectorAddressLink.counter:Ljava/util/concurrent/atomic/AtomicInteger;
1: aconst_null
putstatic jdk.internal.agent.ConnectorAddressLink.remotePerfHandle:Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/agent/ConnectorAddressLink;
public static void export(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "address not specified"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
invokestatic jdk.internal.perf.Perf.getPerf:()Ljdk/internal/perf/Perf;
astore 1
start local 1 3: aload 1
4: ldc "sun.management.JMXConnectorServer.address"
iconst_1
getstatic sun.management.counter.Units.STRING:Lsun/management/counter/Units;
invokevirtual sun.management.counter.Units.intValue:()I
aload 0
5: invokevirtual jdk.internal.perf.Perf.createString:(Ljava/lang/String;IILjava/lang/String;)Ljava/nio/ByteBuffer;
pop
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 address Ljava/lang/String;
3 7 1 perf Ljdk/internal/perf/Perf;
MethodParameters:
Name Flags
address
public static void unexportRemote();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.agent.ConnectorAddressLink.remotePerfHandle:Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;
invokestatic jdk.internal.agent.ConnectorAddressLink.unexport:(Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
private static void unexport(jdk.internal.agent.ConnectorAddressLink$PerfHandle);
descriptor: (Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnull 2
1: aload 0
ldc -1
invokevirtual jdk.internal.agent.ConnectorAddressLink$PerfHandle.putLong:(J)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ph Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;
MethodParameters:
Name Flags
ph
public static java.lang.String importFrom(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: invokestatic jdk.internal.perf.Perf.getPerf:()Ljdk/internal/perf/Perf;
astore 1
start local 1 1: aload 1
iload 0
ldc "r"
invokevirtual jdk.internal.perf.Perf.attach:(ILjava/lang/String;)Ljava/nio/ByteBuffer;
astore 2
start local 2 2: goto 5
end local 2 StackMap locals: int jdk.internal.perf.Perf
StackMap stack: java.lang.IllegalArgumentException
3: astore 3
start local 3 4: new java.io.IOException
dup
aload 3
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 start local 2 5: StackMap locals: java.nio.ByteBuffer
StackMap stack:
new sun.management.counter.perf.PerfInstrumentation
dup
aload 2
invokespecial sun.management.counter.perf.PerfInstrumentation.<init>:(Ljava/nio/ByteBuffer;)V
ldc "sun.management.JMXConnectorServer.address"
invokevirtual sun.management.counter.perf.PerfInstrumentation.findByPattern:(Ljava/lang/String;)Ljava/util/List;
6: astore 3
start local 3 7: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
start local 4 8: aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 11
9: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.management.counter.Counter
astore 5
start local 5 10: aload 5
invokeinterface sun.management.counter.Counter.getValue:()Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 5 11: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 vmid I
1 12 1 perf Ljdk/internal/perf/Perf;
2 3 2 bb Ljava/nio/ByteBuffer;
5 12 2 bb Ljava/nio/ByteBuffer;
4 5 3 iae Ljava/lang/IllegalArgumentException;
7 12 3 counters Ljava/util/List<Lsun/management/counter/Counter;>;
8 12 4 i Ljava/util/Iterator<Lsun/management/counter/Counter;>;
10 11 5 c Lsun/management/counter/Counter;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
vmid
public static void exportRemote(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=5, args_size=1
start local 0 0: getstatic jdk.internal.agent.ConnectorAddressLink.counter:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
istore 1
start local 1 1: invokestatic jdk.internal.perf.Perf.getPerf:()Ljdk/internal/perf/Perf;
astore 2
start local 2 2: aload 0
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: java.util.Map int jdk.internal.perf.Perf top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 4: aload 2
new java.lang.StringBuilder
dup
ldc "sun.management.JMXConnectorServer."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
getstatic sun.management.counter.Units.STRING:Lsun/management/counter/Units;
invokevirtual sun.management.counter.Units.intValue:()I
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
6: invokevirtual jdk.internal.perf.Perf.createString:(Ljava/lang/String;IILjava/lang/String;)Ljava/nio/ByteBuffer;
pop
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: getstatic jdk.internal.agent.ConnectorAddressLink.remotePerfHandle:Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;
ifnull 11
9: getstatic jdk.internal.agent.ConnectorAddressLink.remotePerfHandle:Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;
iload 1
i2l
invokevirtual jdk.internal.agent.ConnectorAddressLink$PerfHandle.putLong:(J)V
10: goto 14
11: StackMap locals: java.util.Map int jdk.internal.perf.Perf
StackMap stack:
new jdk.internal.agent.ConnectorAddressLink$PerfHandle
dup
12: aload 2
ldc "sun.management.JMXConnectorServer.remote.enabled"
iconst_1
getstatic sun.management.counter.Units.NONE:Lsun/management/counter/Units;
invokevirtual sun.management.counter.Units.intValue:()I
iload 1
i2l
invokevirtual jdk.internal.perf.Perf.createLong:(Ljava/lang/String;IIJ)Ljava/nio/ByteBuffer;
13: invokespecial jdk.internal.agent.ConnectorAddressLink$PerfHandle.<init>:(Ljava/nio/ByteBuffer;)V
putstatic jdk.internal.agent.ConnectorAddressLink.remotePerfHandle:Ljdk/internal/agent/ConnectorAddressLink$PerfHandle;
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 properties Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 15 1 index I
2 15 2 perf Ljdk/internal/perf/Perf;
4 7 3 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
properties
public static java.util.Map<java.lang.String, java.lang.String> importRemoteFrom(int);
descriptor: (I)Ljava/util/Map;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: invokestatic jdk.internal.perf.Perf.getPerf:()Ljdk/internal/perf/Perf;
astore 1
start local 1 1: aload 1
iload 0
ldc "r"
invokevirtual jdk.internal.perf.Perf.attach:(ILjava/lang/String;)Ljava/nio/ByteBuffer;
astore 2
start local 2 2: goto 5
end local 2 StackMap locals: int jdk.internal.perf.Perf
StackMap stack: java.lang.IllegalArgumentException
3: astore 3
start local 3 4: new java.io.IOException
dup
aload 3
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 start local 2 5: StackMap locals: java.nio.ByteBuffer
StackMap stack:
new sun.management.counter.perf.PerfInstrumentation
dup
aload 2
invokespecial sun.management.counter.perf.PerfInstrumentation.<init>:(Ljava/nio/ByteBuffer;)V
invokevirtual sun.management.counter.perf.PerfInstrumentation.getAllCounters:()Ljava/util/List;
astore 3
start local 3 6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 7: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: int jdk.internal.perf.Perf java.nio.ByteBuffer java.util.List java.util.Map top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.management.counter.Counter
astore 5
start local 5 9: aload 5
invokeinterface sun.management.counter.Counter.getName:()Ljava/lang/String;
astore 7
start local 7 10: aload 7
ldc "sun.management.JMXConnectorServer."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
11: aload 7
ldc "sun.management.JMXConnectorServer.address"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
12: aload 4
aload 7
aload 5
invokeinterface sun.management.counter.Counter.getValue:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 5 13: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
14: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 vmid I
1 15 1 perf Ljdk/internal/perf/Perf;
2 3 2 bb Ljava/nio/ByteBuffer;
5 15 2 bb Ljava/nio/ByteBuffer;
4 5 3 iae Ljava/lang/IllegalArgumentException;
6 15 3 counters Ljava/util/List<Lsun/management/counter/Counter;>;
7 15 4 properties Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
9 13 5 c Lsun/management/counter/Counter;
10 13 7 name Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
Signature: (I)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
vmid
}
SourceFile: "ConnectorAddressLink.java"
NestMembers:
jdk.internal.agent.ConnectorAddressLink$PerfHandle
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private final PerfHandle = jdk.internal.agent.ConnectorAddressLink$PerfHandle of jdk.internal.agent.ConnectorAddressLink