public class sun.misc.Version
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.misc.Version
super_class: java.lang.Object
{
private static final java.lang.String launcher_name;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "openjdk"
private static final java.lang.String java_version;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "1.6.0-internal"
private static final java.lang.String java_runtime_name;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "OpenJDK Runtime Environment"
private static final java.lang.String java_runtime_version;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "1.6.0-internal-8"
private static boolean versionsInitialized;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jvm_major_version;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jvm_minor_version;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jvm_micro_version;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jvm_update_version;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jvm_build_number;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String jvm_special_version;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jdk_major_version;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jdk_minor_version;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jdk_micro_version;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jdk_update_version;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int jdk_build_number;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String jdk_special_version;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean jvmVersionInfoAvailable;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic sun.misc.Version.init:()V
1: iconst_0
putstatic sun.misc.Version.versionsInitialized:Z
2: iconst_0
putstatic sun.misc.Version.jvm_major_version:I
3: iconst_0
putstatic sun.misc.Version.jvm_minor_version:I
4: iconst_0
putstatic sun.misc.Version.jvm_micro_version:I
5: iconst_0
putstatic sun.misc.Version.jvm_update_version:I
6: iconst_0
putstatic sun.misc.Version.jvm_build_number:I
7: aconst_null
putstatic sun.misc.Version.jvm_special_version:Ljava/lang/String;
8: iconst_0
putstatic sun.misc.Version.jdk_major_version:I
9: iconst_0
putstatic sun.misc.Version.jdk_minor_version:I
10: iconst_0
putstatic sun.misc.Version.jdk_micro_version:I
11: iconst_0
putstatic sun.misc.Version.jdk_update_version:I
12: iconst_0
putstatic sun.misc.Version.jdk_build_number:I
13: aconst_null
putstatic sun.misc.Version.jdk_special_version:Ljava/lang/String;
14: 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/misc/Version;
public static void init();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "java.version"
ldc "1.6.0-internal"
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
1: ldc "java.runtime.version"
ldc "1.6.0-internal-8"
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
2: ldc "java.runtime.name"
ldc "OpenJDK Runtime Environment"
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
3: return
LocalVariableTable:
Start End Slot Name Signature
public static void print();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokestatic sun.misc.Version.print:(Ljava/io/PrintStream;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
public static void print(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
ldc "openjdk version \"1.6.0-internal\""
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 0
ldc "OpenJDK Runtime Environment (build 1.6.0-internal-8)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: ldc "java.vm.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 3: ldc "java.vm.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: ldc "java.vm.info"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 5: 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 " (build "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 3
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;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 ps Ljava/io/PrintStream;
3 9 1 java_vm_name Ljava/lang/String;
4 9 2 java_vm_version Ljava/lang/String;
5 9 3 java_vm_info Ljava/lang/String;
MethodParameters:
Name Flags
ps
public static synchronized int jvmMajorVersion();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jvm_major_version:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized int jvmMinorVersion();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jvm_minor_version:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized int jvmMicroVersion();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jvm_micro_version:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized int jvmUpdateVersion();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jvm_update_version:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized java.lang.String jvmSpecialVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jvm_special_version:Ljava/lang/String;
ifnonnull 4
3: invokestatic sun.misc.Version.getJvmSpecialVersion:()Ljava/lang/String;
putstatic sun.misc.Version.jvm_special_version:Ljava/lang/String;
4: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jvm_special_version:Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static native java.lang.String getJvmSpecialVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
public static synchronized int jvmBuildNumber();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jvm_build_number:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized int jdkMajorVersion();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jdk_major_version:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized int jdkMinorVersion();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jdk_minor_version:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized int jdkMicroVersion();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jdk_micro_version:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized int jdkUpdateVersion();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jdk_update_version:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized java.lang.String jdkSpecialVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jdk_special_version:Ljava/lang/String;
ifnonnull 4
3: invokestatic sun.misc.Version.getJdkSpecialVersion:()Ljava/lang/String;
putstatic sun.misc.Version.jdk_special_version:Ljava/lang/String;
4: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jdk_special_version:Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static native java.lang.String getJdkSpecialVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
public static synchronized int jdkBuildNumber();
descriptor: ()I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifne 2
1: invokestatic sun.misc.Version.initVersions:()V
2: StackMap locals:
StackMap stack:
getstatic sun.misc.Version.jdk_build_number:I
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static synchronized void initVersions();
descriptor: ()V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=6, args_size=0
0: getstatic sun.misc.Version.versionsInitialized:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic sun.misc.Version.getJvmVersionInfo:()Z
putstatic sun.misc.Version.jvmVersionInfoAvailable:Z
3: getstatic sun.misc.Version.jvmVersionInfoAvailable:Z
ifne 47
4: ldc "java.vm.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 5: aload 0
invokeinterface java.lang.CharSequence.length:()I
iconst_5
if_icmplt 47
6: aload 0
iconst_0
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 47
aload 0
iconst_1
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 46
if_icmpne 47
7: aload 0
iconst_2
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 47
aload 0
iconst_3
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 46
if_icmpne 47
8: aload 0
iconst_4
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 47
9: aload 0
iconst_0
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 10
invokestatic java.lang.Character.digit:(CI)I
putstatic sun.misc.Version.jvm_major_version:I
10: aload 0
iconst_2
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 10
invokestatic java.lang.Character.digit:(CI)I
putstatic sun.misc.Version.jvm_minor_version:I
11: aload 0
iconst_4
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 10
invokestatic java.lang.Character.digit:(CI)I
putstatic sun.misc.Version.jvm_micro_version:I
12: aload 0
iconst_5
aload 0
invokeinterface java.lang.CharSequence.length:()I
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
astore 0
13: aload 0
iconst_0
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 95
if_icmpne 34
aload 0
invokeinterface java.lang.CharSequence.length:()I
iconst_3
if_icmplt 34
14: iconst_0
istore 1
start local 1 15: aload 0
iconst_1
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 20
16: aload 0
iconst_2
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 20
17: aload 0
iconst_3
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 20
18: iconst_4
istore 1
19: goto 23
StackMap locals: java.lang.CharSequence int
StackMap stack:
20: aload 0
iconst_1
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 23
21: aload 0
iconst_2
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 23
22: iconst_3
istore 1
23: StackMap locals:
StackMap stack:
aload 0
iconst_1
iload 1
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 2
start local 2 24: aload 2
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic sun.misc.Version.jvm_update_version:I
25: aload 0
invokeinterface java.lang.CharSequence.length:()I
iload 1
iconst_1
iadd
if_icmplt 33
26: aload 0
iload 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 3
start local 3 27: iload 3
bipush 97
if_icmplt 33
iload 3
bipush 122
if_icmpgt 33
28: iload 3
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
putstatic sun.misc.Version.jvm_special_version:Ljava/lang/String;
29: iinc 1 1
end local 3 end local 2 30: goto 33
StackMap locals:
StackMap stack: java.lang.NumberFormatException
31: pop
32: return
33: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 0
invokeinterface java.lang.CharSequence.length:()I
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
astore 0
end local 1 34: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 45
if_icmpne 47
35: aload 0
iconst_1
aload 0
invokeinterface java.lang.CharSequence.length:()I
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
astore 0
36: aload 0
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
ldc "-"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 37: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 46
StackMap locals: java.lang.CharSequence java.lang.String[] top int int java.lang.String[]
StackMap stack:
38: aload 5
iload 3
aaload
astore 2
start local 2 39: aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 98
if_icmpne 45
aload 2
invokevirtual java.lang.String.length:()I
iconst_3
if_icmpne 45
40: aload 2
iconst_1
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 45
41: aload 2
iconst_2
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 45
42: aload 2
iconst_1
iconst_3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
43: putstatic sun.misc.Version.jvm_build_number:I
44: goto 47
end local 2 45: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
46: iload 3
iload 4
if_icmplt 38
end local 1 end local 0 47: StackMap locals:
StackMap stack:
invokestatic sun.misc.Version.getJdkVersionInfo:()V
48: iconst_1
putstatic sun.misc.Version.versionsInitialized:Z
49: return
LocalVariableTable:
Start End Slot Name Signature
5 47 0 cs Ljava/lang/CharSequence;
15 34 1 nextChar I
24 30 2 uu Ljava/lang/String;
27 30 3 c C
37 47 1 res [Ljava/lang/String;
39 45 2 s Ljava/lang/String;
Exception table:
from to target type
23 30 31 Class java.lang.NumberFormatException
private static native boolean getJvmVersionInfo();
descriptor: ()Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native void getJdkVersionInfo();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "Version.java"