public class sun.tools.jstatd.Jstatd
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.jstatd.Jstatd
super_class: java.lang.Object
{
private static java.rmi.registry.Registry registry;
descriptor: Ljava/rmi/registry/Registry;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int port;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean startRegistry;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvmstat.monitor.remote.RemoteHost remoteHost;
descriptor: Lsun/jvmstat/monitor/remote/RemoteHost;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_m1
putstatic sun.tools.jstatd.Jstatd.port:I
1: iconst_1
putstatic sun.tools.jstatd.Jstatd.startRegistry:Z
2: 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 Lsun/tools/jstatd/Jstatd;
private static void printUsage();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "usage: jstatd [-nr] [-p port] [-n rminame]\n jstatd -?|-h|--help"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
static void bind(java.lang.String, sun.jvmstat.monitor.remote.RemoteHost);
descriptor: (Ljava/lang/String;Lsun/jvmstat/monitor/remote/RemoteHost;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.rmi.Naming.rebind:(Ljava/lang/String;Ljava/rmi/Remote;)V
1: goto 11
StackMap locals:
StackMap stack: java.rmi.ConnectException
2: astore 2
start local 2 3: getstatic sun.tools.jstatd.Jstatd.startRegistry:Z
ifeq 10
getstatic sun.tools.jstatd.Jstatd.registry:Ljava/rmi/registry/Registry;
ifnonnull 10
4: getstatic sun.tools.jstatd.Jstatd.port:I
ifge 5
sipush 1099
goto 6
StackMap locals: java.rmi.ConnectException
StackMap stack:
5: getstatic sun.tools.jstatd.Jstatd.port:I
StackMap locals:
StackMap stack: int
6: istore 3
start local 3 7: iload 3
invokestatic java.rmi.registry.LocateRegistry.createRegistry:(I)Ljava/rmi/registry/Registry;
putstatic sun.tools.jstatd.Jstatd.registry:Ljava/rmi/registry/Registry;
8: aload 0
aload 1
invokestatic sun.tools.jstatd.Jstatd.bind:(Ljava/lang/String;Lsun/jvmstat/monitor/remote/RemoteHost;)V
end local 3 9: goto 11
10: StackMap locals:
StackMap stack:
aload 2
athrow
end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 name Ljava/lang/String;
0 12 1 remoteHost Lsun/jvmstat/monitor/remote/RemoteHost;
3 11 2 e Ljava/rmi/ConnectException;
7 9 3 localport I
Exception table:
from to target type
0 1 2 Class java.rmi.ConnectException
Exceptions:
throws java.rmi.RemoteException, java.net.MalformedURLException, java.lang.Exception
MethodParameters:
Name Flags
name
remoteHost
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 36
3: StackMap locals: java.lang.String int
StackMap stack:
aload 0
iload 2
aaload
astore 3
start local 3 4: aload 3
ldc "-?"
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifeq 7
5: aload 3
ldc "-h"
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifeq 7
6: aload 3
ldc "--help"
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifne 10
7: StackMap locals: java.lang.String
StackMap stack:
invokestatic sun.tools.jstatd.Jstatd.printUsage:()V
8: iconst_0
invokestatic java.lang.System.exit:(I)V
9: goto 35
StackMap locals:
StackMap stack:
10: aload 3
ldc "-nr"
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifne 13
11: iconst_0
putstatic sun.tools.jstatd.Jstatd.startRegistry:Z
12: goto 35
StackMap locals:
StackMap stack:
13: aload 3
ldc "-p"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 23
14: aload 3
ldc "-p"
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifeq 17
15: aload 3
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putstatic sun.tools.jstatd.Jstatd.port:I
16: goto 35
17: StackMap locals:
StackMap stack:
iinc 2 1
18: iload 2
aload 0
arraylength
if_icmplt 21
19: invokestatic sun.tools.jstatd.Jstatd.printUsage:()V
20: iconst_1
invokestatic java.lang.System.exit:(I)V
21: StackMap locals:
StackMap stack:
aload 0
iload 2
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putstatic sun.tools.jstatd.Jstatd.port:I
22: goto 35
StackMap locals:
StackMap stack:
23: aload 3
ldc "-n"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 33
24: aload 3
ldc "-n"
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifeq 27
25: aload 3
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
26: goto 35
27: StackMap locals:
StackMap stack:
iinc 2 1
28: iload 2
aload 0
arraylength
if_icmplt 31
29: invokestatic sun.tools.jstatd.Jstatd.printUsage:()V
30: iconst_1
invokestatic java.lang.System.exit:(I)V
31: StackMap locals:
StackMap stack:
aload 0
iload 2
aaload
astore 1
32: goto 35
33: StackMap locals:
StackMap stack:
invokestatic sun.tools.jstatd.Jstatd.printUsage:()V
34: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 3 35: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
36: iload 2
aload 0
arraylength
if_icmpge 37
aload 0
iload 2
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
37: StackMap locals:
StackMap stack:
iload 2
aload 0
arraylength
if_icmpge 40
38: invokestatic sun.tools.jstatd.Jstatd.printUsage:()V
39: iconst_1
invokestatic java.lang.System.exit:(I)V
40: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 42
41: new java.rmi.RMISecurityManager
dup
invokespecial java.rmi.RMISecurityManager.<init>:()V
invokestatic java.lang.System.setSecurityManager:(Ljava/lang/SecurityManager;)V
42: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 43: getstatic sun.tools.jstatd.Jstatd.port:I
iflt 45
44: aload 3
ldc "//:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic sun.tools.jstatd.Jstatd.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
45: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
ifnonnull 47
46: ldc "JStatRemoteHost"
astore 1
47: StackMap locals:
StackMap stack:
aload 3
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
48: ldc "java.rmi.server.ignoreSubClasses"
ldc "true"
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
49: new sun.tools.jstatd.RemoteHostImpl
dup
invokespecial sun.tools.jstatd.RemoteHostImpl.<init>:()V
putstatic sun.tools.jstatd.Jstatd.remoteHost:Lsun/jvmstat/monitor/remote/RemoteHost;
50: getstatic sun.tools.jstatd.Jstatd.remoteHost:Lsun/jvmstat/monitor/remote/RemoteHost;
iconst_0
51: invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;I)Ljava/rmi/Remote;
checkcast sun.jvmstat.monitor.remote.RemoteHost
astore 4
start local 4 52: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokestatic sun.tools.jstatd.Jstatd.bind:(Ljava/lang/String;Lsun/jvmstat/monitor/remote/RemoteHost;)V
53: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "jstatd started (bound to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
54: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
end local 4 55: goto 78
StackMap locals:
StackMap stack: java.net.MalformedURLException
56: astore 4
start local 4 57: aload 1
ifnull 60
58: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Bad RMI server name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
59: goto 61
60: StackMap locals: java.net.MalformedURLException
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Bad RMI URL: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
61: StackMap locals:
StackMap stack:
aload 4
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.net.MalformedURLException.printStackTrace:(Ljava/io/PrintStream;)V
62: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 4 63: goto 78
64: StackMap locals: java.lang.String[] java.lang.String int java.lang.StringBuilder
StackMap stack: java.rmi.ConnectException
astore 4
start local 4 65: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Could not contact RMI registry"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
66: aload 4
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.rmi.ConnectException.printStackTrace:(Ljava/io/PrintStream;)V
67: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 4 68: goto 78
69: StackMap locals:
StackMap stack: java.rmi.RemoteException
astore 4
start local 4 70: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Could not bind "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to RMI Registry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
71: aload 4
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.rmi.RemoteException.printStackTrace:(Ljava/io/PrintStream;)V
72: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 4 73: goto 78
74: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 75: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Could not create remote object"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
76: aload 4
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
77: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 4 78: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 79 0 args [Ljava/lang/String;
1 79 1 rminame Ljava/lang/String;
2 79 2 argc I
4 35 3 arg Ljava/lang/String;
43 79 3 name Ljava/lang/StringBuilder;
52 55 4 stub Lsun/jvmstat/monitor/remote/RemoteHost;
57 63 4 e Ljava/net/MalformedURLException;
65 68 4 e Ljava/rmi/ConnectException;
70 73 4 e Ljava/rmi/RemoteException;
75 78 4 e Ljava/lang/Exception;
Exception table:
from to target type
48 55 56 Class java.net.MalformedURLException
48 55 64 Class java.rmi.ConnectException
48 55 69 Class java.rmi.RemoteException
48 55 74 Class java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "Jstatd.java"