_____________________________________________________________________
+ Program class: a/a
Superclass: java/lang/Object
Major version: 0x2d
Minor version: 0x3
Access flags: 0x31
= public final class a.a extends java.lang.Object
Interfaces (count = 0):
Constant Pool (count = 69):
+ Integer [65535]
+ String [I.gif]
+ Class [a/a]
+ Class [java/io/InputStream]
+ Class [java/lang/Class]
+ Class [java/lang/Exception]
+ Class [java/lang/Object]
+ Class [java/lang/String]
+ Class [java/lang/StringBuffer]
+ Fieldref [a/a.a [B]
+ Fieldref [a/a.b [Ljava/lang/String;]
+ Fieldref [a/a.c [I]
+ Methodref [a/a.<init> ()V]
+ Methodref [java/io/InputStream.close ()V]
+ Methodref [java/io/InputStream.read ()I]
+ Methodref [java/io/InputStream.read ([BII)I]
+ Methodref [java/lang/Class.getResourceAsStream (Ljava/lang/String;)Ljava/io/InputStream;]
+ Methodref [java/lang/Object.<init> ()V]
+ Methodref [java/lang/Object.getClass ()Ljava/lang/Class;]
+ Methodref [java/lang/String.<init> ([BII)V]
+ Methodref [java/lang/String.intern ()Ljava/lang/String;]
+ Methodref [java/lang/StringBuffer.<init> (Ljava/lang/String;)V]
+ Methodref [java/lang/StringBuffer.toString ()Ljava/lang/String;]
+ NameAndType [<init> ()V]
+ NameAndType [<init> (Ljava/lang/String;)V]
+ NameAndType [<init> ([BII)V]
+ NameAndType [a [B]
+ NameAndType [b [Ljava/lang/String;]
+ NameAndType [c [I]
+ NameAndType [close ()V]
+ NameAndType [getClass ()Ljava/lang/Class;]
+ NameAndType [getResourceAsStream (Ljava/lang/String;)Ljava/io/InputStream;]
+ NameAndType [intern ()Ljava/lang/String;]
+ NameAndType [read ()I]
+ NameAndType [read ([BII)I]
+ NameAndType [toString ()Ljava/lang/String;]
+ Utf8 [()I]
+ Utf8 [()Ljava/lang/Class;]
+ Utf8 [()Ljava/lang/String;]
+ Utf8 [()V]
+ Utf8 [(I)Ljava/lang/String;]
+ Utf8 [(Ljava/lang/String;)Ljava/io/InputStream;]
+ Utf8 [(Ljava/lang/String;)V]
+ Utf8 [([BII)I]
+ Utf8 [([BII)V]
+ Utf8 [<clinit>]
+ Utf8 [<init>]
+ Utf8 [Code]
+ Utf8 [I.gif]
+ Utf8 [[B]
+ Utf8 [[I]
+ Utf8 [[Ljava/lang/String;]
+ Utf8 [a]
+ Utf8 [a/a]
+ Utf8 [b]
+ Utf8 [c]
+ Utf8 [close]
+ Utf8 [getClass]
+ Utf8 [getResourceAsStream]
+ Utf8 [intern]
+ Utf8 [java/io/InputStream]
+ Utf8 [java/lang/Class]
+ Utf8 [java/lang/Exception]
+ Utf8 [java/lang/Object]
+ Utf8 [java/lang/String]
+ Utf8 [java/lang/StringBuffer]
+ Utf8 [read]
+ Utf8 [toString]
Fields (count = 3):
+ Field: a [B
Access flags: 0xa
= private static byte[] a
+ Field: b [Ljava/lang/String;
Access flags: 0xa
= private static java.lang.String[] b
+ Field: c [I
Access flags: 0xa
= private static int[] c
Methods (count = 3):
- Method: <init>()V
Access flags: 0x1
= public a()
Class member attributes (count = 1):
+ Code attribute instructions (code length = 5, locals = 1, stack = 1):
[0] aload_0 v0
[1] invokespecial #18
+ Methodref [java/lang/Object.<init> ()V]
[4] return
Code attribute exceptions (count = 0):
Code attribute attributes (attribute count = 0):
+ Method: a(I)Ljava/lang/String;
Access flags: 0x39
= public static final synchronized java.lang.String a(int)
Class member attributes (count = 1):
+ Code attribute instructions (code length = 68, locals = 2, stack = 7):
[0] iload_0 v0
[1] sipush 255
[4] iand
[5] istore_1 v1
[6] getstatic #12
+ Fieldref [a/a.c [I]
[9] iload_1 v1
[10] iaload
[11] iload_0 v0
[12] ificmpeq +50 (target=62)
[15] getstatic #12
+ Fieldref [a/a.c [I]
[18] iload_1 v1
[19] iload_0 v0
[20] iastore
[21] iload_0 v0
[22] ifge +8 (target=30)
[25] iload_0 v0
[26] ldc #1
+ Integer [65535]
[28] iand
[29] istore_0 v0
[30] new #8
+ Class [java/lang/String]
[33] dup
[34] getstatic #10
+ Fieldref [a/a.a [B]
[37] iload_0 v0
[38] getstatic #10
+ Fieldref [a/a.a [B]
[41] iload_0 v0
[42] iconst_1
[43] isub
[44] baload
[45] sipush 255
[48] iand
[49] invokespecial #20
+ Methodref [java/lang/String.<init> ([BII)V]
[52] invokevirtual #21
+ Methodref [java/lang/String.intern ()Ljava/lang/String;]
[55] astore_0 v0
[56] getstatic #11
+ Fieldref [a/a.b [Ljava/lang/String;]
[59] iload_1 v1
[60] aload_0 v0
[61] aastore
[62] getstatic #11
+ Fieldref [a/a.b [Ljava/lang/String;]
[65] iload_1 v1
[66] aaload
[67] areturn
Code attribute exceptions (count = 0):
Code attribute attributes (attribute count = 0):
- Method: <clinit>()V
Access flags: 0x8
= static void <clinit>()
Class member attributes (count = 1):
+ Code attribute instructions (code length = 145, locals = 6, stack = 4):
[0] sipush 256
[3] anewarray #8
+ Class [java/lang/String]
[6] putstatic #11
+ Fieldref [a/a.b [Ljava/lang/String;]
[9] sipush 256
[12] newarray 10
[14] putstatic #12
+ Fieldref [a/a.c [I]
[17] new #3
+ Class [a/a]
[20] dup
[21] invokespecial #13
+ Methodref [a/a.<init> ()V]
[24] invokevirtual #19
+ Methodref [java/lang/Object.getClass ()Ljava/lang/Class;]
[27] new #9
+ Class [java/lang/StringBuffer]
[30] dup
[31] ldc #2
+ String [I.gif]
[33] invokespecial #22
+ Methodref [java/lang/StringBuffer.<init> (Ljava/lang/String;)V]
[36] invokevirtual #23
+ Methodref [java/lang/StringBuffer.toString ()Ljava/lang/String;]
[39] invokevirtual #17
+ Methodref [java/lang/Class.getResourceAsStream (Ljava/lang/String;)Ljava/io/InputStream;]
[42] dup
[43] astore_0 v0
[44] ifnull +98 (target=142)
[47] aload_0 v0
[48] invokevirtual #15
+ Methodref [java/io/InputStream.read ()I]
[51] bipush 16
[53] ishl
[54] aload_0 v0
[55] invokevirtual #15
+ Methodref [java/io/InputStream.read ()I]
[58] bipush 8
[60] ishl
[61] ior
[62] aload_0 v0
[63] invokevirtual #15
+ Methodref [java/io/InputStream.read ()I]
[66] ior
[67] dup
[68] istore_1 v1
[69] newarray 8
[71] putstatic #10
+ Fieldref [a/a.a [B]
[74] iconst_0
[75] istore_2 v2
[76] iload_1 v1
[77] i2b
[78] istore_3 v3
[79] getstatic #10
+ Fieldref [a/a.a [B]
[82] astore v4
[84] goto +50 (target=134)
[87] aload_0 v0
[88] aload v4
[90] iload_2 v2
[91] iload_1 v1
[92] invokevirtual #16
+ Methodref [java/io/InputStream.read ([BII)I]
[95] dup
[96] istore v5
[98] iconst_m1
[99] ificmpeq +39 (target=138)
[102] iload_1 v1
[103] iload v5
[105] isub
[106] istore_1 v1
[107] iload v5
[109] iload_2 v2
[110] iadd
[111] istore v5
[113] goto +15 (target=128)
[116] aload v4
[118] iload_2 v2
[119] dup2
[120] baload
[121] iload_3 v3
[122] ixor
[123] i2b
[124] bastore
[125] iinc v2, 1
[128] iload_2 v2
[129] iload v5
[131] ificmplt -15 (target=116)
[134] iload_1 v1
[135] ifne -48 (target=87)
[138] aload_0 v0
[139] invokevirtual #14
+ Methodref [java/io/InputStream.close ()V]
[142] return
[143] pop
[144] return
Code attribute exceptions (count = 1):
- 1
- 2
- 3
- 4
- 5
- 6
前往页