;; 1065(d) bytes data (Revision: 4.9)

CA FE BA BE ; magic number
00 03 ; minor version
00 2D ; major version

00 4B ; constant pool number= 74(d) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

08 00 24 ;(00 01) String => " "
07 00 36 ;(00 02) Class => MThread
07 00 39 ;(00 03) Class => Waiting
07 00 3D ;(00 04) Class => java/io/PrintStream
07 00 3E ;(00 05) Class => java/lang/String
07 00 3F ;(00 06) Class => java/lang/StringBuffer
07 00 40 ;(00 07) Class => java/lang/System
07 00 41 ;(00 08) Class => java/lang/Thread
0A 00 03 00 17 ;(00 09) Methodref => Waiting.<init>:()V
0A 00 08 00 17 ;(00 0A) Methodref => java/lang/Thread.<init>:()V
0A 00 02 00 18 ;(00 0B) Methodref => MThread.<init>:(I)V
0A 00 06 00 19 ;(00 0C) Methodref => java/lang/StringBuffer.<init>:(Ljava/lang/String;)V
0A 00 06 00 1A ;(00 0D) Methodref => java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
0A 00 02 00 1B ;(00 0E) Methodref => MThread.dummy:()V
09 00 02 00 1C ;(00 0F) Fieldref => MThread.id:I
09 00 07 00 1D ;(00 10) Fieldref => java/lang/System.out:Ljava/io/PrintStream;
;
0A 00 04 00 1E ;(00 11) Methodref => java/io/PrintStream.print:(Ljava/lang/String;)V
0A 00 08 00 1F ;(00 12) Methodref => java/lang/Thread.start:()V
0A 00 06 00 20 ;(00 13) Methodref => java/lang/StringBuffer.toString:()Ljava/lang/String;
0A 00 05 00 21 ;(00 14) Methodref => java/lang/String.valueOf:(I)Ljava/lang/String;
09 00 02 00 22 ;(00 15) Fieldref => MThread.w:LWaiting;
0A 00 03 00 23 ;(00 16) Methodref => Waiting.wait:(Ljava/lang/Thread;)V
0C 00 2D 00 26 ;(00 17) NameAndType => <init>:()V
0C 00 2D 00 28 ;(00 18) NameAndType => <init>:(I)V
0C 00 2D 00 2A ;(00 19) NameAndType => <init>:(Ljava/lang/String;)V
0C 00 3A 00 29 ;(00 1A) NameAndType => append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
0C 00 3B 00 26 ;(00 1B) NameAndType => dummy:()V
0C 00 3C 00 31 ;(00 1C) NameAndType => id:I
0C 00 43 00 34 ;(00 1D) NameAndType => out:Ljava/io/PrintStream;
0C 00 44 00 2A ;(00 1E) NameAndType => print:(Ljava/lang/String;)V
0C 00 46 00 26 ;(00 1F) NameAndType => start:()V
0C 00 47 00 25 ;(00 20) NameAndType => toString:()Ljava/lang/String;
;
0C 00 48 00 27 ;(00 21) NameAndType => valueOf:(I)Ljava/lang/String;
0C 00 49 00 32 ;(00 22) NameAndType => w:LWaiting;
0C 00 4A 00 2B ;(00 23) NameAndType => wait:(Ljava/lang/Thread;)V
01 00 01 20 ;(00 24) Utf8 = " "
01 00 14 28 29 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B ;(00 25) Utf8 = "()Ljava/lang/String;"
01 00 03 28 29 56 ;(00 26) Utf8 = "()V"
01 00 15 28 49 29 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B ;(00 27) Utf8 = "(I)Ljava/lang/String;"
01 00 04 28 49 29 56 ;(00 28) Utf8 = "(I)V"
01 00 2C 28 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B 29 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 42 75 66 66 65 72 3B ;(00 29) Utf8 = "(Ljava/lang/String;)Ljava/lang/StringBuffer;"
01 00 15 28 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B 29 56 ;(00 2A) Utf8 = "(Ljava/lang/String;)V"
01 00 15 28 4C 6A 61 76 61 2F 6C 61 6E 67 2F 54 68 72 65 61 64 3B 29 56 ;(00 2B) Utf8 = "(Ljava/lang/Thread;)V"
01 00 16 28 5B 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B 29 56 ;(00 2C) Utf8 = "([Ljava/lang/String;)V"
01 00 06 3C 69 6E 69 74 3E ;(00 2D) Utf8 = "<init>"
01 00 04 43 6F 64 65 ;(00 2E) Utf8 = "Code"
01 00 0D 43 6F 6E 73 74 61 6E 74 56 61 6C 75 65 ;(00 2F) Utf8 = "ConstantValue"
01 00 0A 45 78 63 65 70 74 69 6F 6E 73 ;(00 30) Utf8 = "Exceptions"
;
01 00 01 49 ;(00 31) Utf8 = "I"
01 00 09 4C 57 61 69 74 69 6E 67 3B ;(00 32) Utf8 = "LWaiting;"
01 00 0F 4C 69 6E 65 4E 75 6D 62 65 72 54 61 62 6C 65 ;(00 33) Utf8 = "LineNumberTable"
01 00 15 4C 6A 61 76 61 2F 69 6F 2F 50 72 69 6E 74 53 74 72 65 61 6D 3B ;(00 34) Utf8 = "Ljava/io/PrintStream;"
01 00 0E 4C 6F 63 61 6C 56 61 72 69 61 62 6C 65 73 ;(00 35) Utf8 = "LocalVariables"
01 00 07 4D 54 68 72 65 61 64 ;(00 36) Utf8 = "MThread"
01 00 0C 4D 54 68 72 65 61 64 2E 6A 61 76 61 ;(00 37) Utf8 = "MThread.java"
01 00 0A 53 6F 75 72 63 65 46 69 6C 65 ;(00 38) Utf8 = "SourceFile"
01 00 07 57 61 69 74 69 6E 67 ;(00 39) Utf8 = "Waiting"
01 00 06 61 70 70 65 6E 64 ;(00 3A) Utf8 = "append"
01 00 05 64 75 6D 6D 79 ;(00 3B) Utf8 = "dummy"
01 00 02 69 64 ;(00 3C) Utf8 = "id"
01 00 13 6A 61 76 61 2F 69 6F 2F 50 72 69 6E 74 53 74 72 65 61 6D ;(00 3D) Utf8 = "java/io/PrintStream"
01 00 10 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 ;(00 3E) Utf8 = "java/lang/String"
01 00 16 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 42 75 66 66 65 72 ;(00 3F) Utf8 = "java/lang/StringBuffer"
01 00 10 6A 61 76 61 2F 6C 61 6E 67 2F 53 79 73 74 65 6D ;(00 40) Utf8 = "java/lang/System"
;
01 00 10 6A 61 76 61 2F 6C 61 6E 67 2F 54 68 72 65 61 64 ;(00 41) Utf8 = "java/lang/Thread"
01 00 04 6D 61 69 6E ;(00 42) Utf8 = "main"
01 00 03 6F 75 74 ;(00 43) Utf8 = "out"
01 00 05 70 72 69 6E 74 ;(00 44) Utf8 = "print"
01 00 03 72 75 6E ;(00 45) Utf8 = "run"
01 00 05 73 74 61 72 74 ;(00 46) Utf8 = "start"
01 00 08 74 6F 53 74 72 69 6E 67 ;(00 47) Utf8 = "toString"
01 00 07 76 61 6C 75 65 4F 66 ;(00 48) Utf8 = "valueOf"
01 00 01 77 ;(00 49) Utf8 = "w"
01 00 04 77 61 69 74 ;(00 4A) Utf8 = "wait"

;; class info. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

00 20 ; access flag= SUPER
00 02 ; this class= "MThread"
00 08 ; super class= "java/lang/Thread"

00 00 ; num. of implemented interface(s)= 0(d) ;;;;;;;;;;;;;;;;;;;;;;


00 02 ; num. of field(s)= 2(d) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;BEGIN field1(d) def.
00 02 ; access flag of method = PRIVATE
00 49 ; method name ="w"
00 32 ; method type ="LWaiting;"
;
00 00 ; num. of attribute(s), 0(d)
;
;END field1(d) def.

;BEGIN field2(d) def.
00 02 ; access flag of method = PRIVATE
00 3C ; method name ="id"
00 31 ; method type ="I"
;
00 00 ; num. of attribute(s), 0(d)
;
;END field2(d) def.

00 04 ; num. of methods(s)= 4(d) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;BEGIN method1(d) def.
00 00 ; access flag of method = 
00 2D ; method name ="<init>"
00 28 ; method type ="(I)V"
;
00 01 ; num. of attribute(s), 1(d)
;;begin attribute 1(d)
00 2E ; attribute type= "Code"
00 00 00 39 ; attribute length= 57(d)
;;
00 03 ; stacks limits
00 02 ; locals limits
00 00 00 15 ; length of codes = 21(d)
;;
2A       ; aload_0
B7 00 0A ; invokespecial java/lang/Thread/<init>()V
2A       ; aload_0
BB 00 03 ; new Waiting
59       ; dup
B7 00 09 ; invokespecial Waiting/<init>()V
B5 00 15 ; putfield MThread/w LWaiting;
2A       ; aload_0
1B       ; iload_1
B5 00 0F ; putfield MThread/id I
B1       ; return
;;
00 00 ; num. of exception handler(s) = 0(d)
;;
00 01 ; num. of attr. of this code attr. = 1(d)
00 33 ; code-attr.'s attr.1(d) name="LineNumberTable"
00 00 00 12 ; length of attr.=18(d)
00 04 ; 4(d) line number(s)
00 00 00 07 ; .line 7
00 04 00 08 ; .line 8
00 0F 00 09 ; .line 9
00 14 00 06 ; .line 6
;;end attribute 1(d)
;
;END method1(d) def.

;BEGIN method2(d) def.
00 01 ; access flag of method = PUBLIC
00 45 ; method name ="run"
00 26 ; method type ="()V"
;
00 01 ; num. of attribute(s), 1(d)
;;begin attribute 1(d)
00 2E ; attribute type= "Code"
00 00 00 63 ; attribute length= 99(d)
;;
00 04 ; stacks limits
00 02 ; locals limits
00 00 00 37 ; length of codes = 55(d)
;;
03       ; iconst_0
3C       ; istore_1
A7 00 2A ; goto Label2
2A       ; aload_0
B4 00 15 ; getfield MThread/w LWaiting;
2A       ; aload_0
B6 00 16 ; invokevirtual Waiting/wait(Ljava/lang/Thread;)V
B2 00 10 ; getstatic java/lang/System/out Ljava/io/PrintStream;
BB 00 06 ; new java/lang/StringBuffer
59       ; dup
2A       ; aload_0
B4 00 0F ; getfield MThread/id I
B8 00 14 ; invokestatic java/lang/String/valueOf(I)Ljava/lang/String;
B7 00 0C ; invokespecial java/lang/StringBuffer/<init>(Ljava/lang/String;)V
12 01    ; ldc " "
B6 00 0D ; invokevirtual java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer;
B6 00 13 ; invokevirtual java/lang/StringBuffer/toString()Ljava/lang/String;
B6 00 11 ; invokevirtual java/io/PrintStream/print(Ljava/lang/String;)V
84 01 01 ; iinc 1 1
1B       ; iload_1
10 0A    ; bipush 10
A1 FF D6 ; if_icmplt Label1
2A       ; aload_0
B6 00 0E ; invokevirtual MThread/dummy()V
B1       ; return
;;
00 00 ; num. of exception handler(s) = 0(d)
;;
00 01 ; num. of attr. of this code attr. = 1(d)
00 33 ; code-attr.'s attr.1(d) name="LineNumberTable"
00 00 00 1A ; length of attr.=26(d)
00 06 ; 6(d) line number(s)
00 00 00 0D ; .line 13
00 05 00 0E ; .line 14
00 0D 00 0F ; .line 15
00 29 00 0D ; .line 13
00 32 00 11 ; .line 17
00 36 00 0C ; .line 12
;;end attribute 1(d)
;
;END method2(d) def.

;BEGIN method3(d) def.
00 00 ; access flag of method = 
00 3B ; method name ="dummy"
00 26 ; method type ="()V"
;
00 01 ; num. of attribute(s), 1(d)
;;begin attribute 1(d)
00 2E ; attribute type= "Code"
00 00 00 19 ; attribute length= 25(d)
;;
00 00 ; stacks limits
00 01 ; locals limits
00 00 00 01 ; length of codes = 1(d)
;;
B1 ; return
;;
00 00 ; num. of exception handler(s) = 0(d)
;;
00 01 ; num. of attr. of this code attr. = 1(d)
00 33 ; code-attr.'s attr.1(d) name="LineNumberTable"
00 00 00 06 ; length of attr.=6(d)
00 01 ; 1(d) line number(s)
00 00 00 14 ; .line 20
;;end attribute 1(d)
;
;END method3(d) def.

;BEGIN method4(d) def.
00 09 ; access flag of method = PUBLIC + STATIC
00 42 ; method name ="main"
00 2C ; method type ="([Ljava/lang/String;)V"
;
00 01 ; num. of attribute(s), 1(d)
;;begin attribute 1(d)
00 2E ; attribute type= "Code"
00 00 00 4C ; attribute length= 76(d)
;;
00 03 ; stacks limits
00 02 ; locals limits
00 00 00 28 ; length of codes = 40(d)
;;
BB 00 02 ; new MThread
59       ; dup
03       ; iconst_0
B7 00 0B ; invokespecial MThread/<init>(I)V
4C       ; astore_1
2B       ; aload_1
B6 00 12 ; invokevirtual java/lang/Thread/start()V
BB 00 02 ; new MThread
59       ; dup
04       ; iconst_1
B7 00 0B ; invokespecial MThread/<init>(I)V
4C       ; astore_1
2B       ; aload_1
B6 00 12 ; invokevirtual java/lang/Thread/start()V
BB 00 02 ; new MThread
59       ; dup
05       ; iconst_2
B7 00 0B ; invokespecial MThread/<init>(I)V
4C       ; astore_1
2B       ; aload_1
B6 00 12 ; invokevirtual java/lang/Thread/start()V
B1       ; return
;;
00 00 ; num. of exception handler(s) = 0(d)
;;
00 01 ; num. of attr. of this code attr. = 1(d)
00 33 ; code-attr.'s attr.1(d) name="LineNumberTable"
00 00 00 12 ; length of attr.=18(d)
00 04 ; 4(d) line number(s)
00 00 00 18 ; .line 24
00 0D 00 19 ; .line 25
00 1A 00 1A ; .line 26
00 27 00 16 ; .line 22
;;end attribute 1(d)
;
;END method4(d) def.

00 01 ; num. of class attribute(s)= 1(d) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;BEGIN class attribute1(d)
00 38 ; class's attr.1(d) name="SourceFile"
00 00 00 02 ; length of attr.=2(d)
00 37 ; filename="MThread.java"
;END class attribute1(d)

;; successfully parsed.

$Id: jas.html,v 1.1 2000-06-25 17:28:22+09 kaiya Exp kaiya $