;; 1231(d) bytes data (Revision: 4.9) CA FE BA BE ; magic number 00 03 ; minor version 00 2D ; major version 00 5A ; constant pool number= 89(d) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 08 00 2C ;(00 01) String => " " 07 00 38 ;(00 02) Class => CoThread 07 00 3C ;(00 03) Class => Counter 07 00 45 ;(00 04) Class => Waiting 07 00 4A ;(00 05) Class => java/io/PrintStream 07 00 4B ;(00 06) Class => java/lang/String 07 00 4C ;(00 07) Class => java/lang/StringBuffer 07 00 4D ;(00 08) Class => java/lang/System 07 00 4E ;(00 09) Class => java/lang/Thread 0A 00 03 00 1C ;(00 0A) Methodref => Counter.<init>:()V 0A 00 04 00 1C ;(00 0B) Methodref => Waiting.<init>:()V 0A 00 09 00 1C ;(00 0C) Methodref => java/lang/Thread.<init>:()V 0A 00 02 00 1D ;(00 0D) Methodref => CoThread.<init>:(ILCounter;)V 0A 00 07 00 1E ;(00 0E) Methodref => java/lang/StringBuffer.<init>:(Ljava/lang/String;)V 0A 00 07 00 1F ;(00 0F) Methodref => java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; 09 00 02 00 20 ;(00 10) Fieldref => CoThread.c:LCounter; ; 0A 00 03 00 21 ;(00 11) Methodref => Counter.get:()I 09 00 02 00 22 ;(00 12) Fieldref => CoThread.id:I 09 00 08 00 23 ;(00 13) Fieldref => java/lang/System.out:Ljava/io/PrintStream; 0A 00 05 00 24 ;(00 14) Methodref => java/io/PrintStream.print:(Ljava/lang/String;)V 0A 00 03 00 25 ;(00 15) Methodref => Counter.set:(I)V 0A 00 03 00 26 ;(00 16) Methodref => Counter.show:()V 0A 00 09 00 27 ;(00 17) Methodref => java/lang/Thread.start:()V 0A 00 07 00 28 ;(00 18) Methodref => java/lang/StringBuffer.toString:()Ljava/lang/String; 0A 00 06 00 29 ;(00 19) Methodref => java/lang/String.valueOf:(I)Ljava/lang/String; 09 00 02 00 2A ;(00 1A) Fieldref => CoThread.w:LWaiting; 0A 00 04 00 2B ;(00 1B) Methodref => Waiting.wait:(Ljava/lang/Thread;)V 0C 00 37 00 2F ;(00 1C) NameAndType => <init>:()V 0C 00 37 00 32 ;(00 1D) NameAndType => <init>:(ILCounter;)V 0C 00 37 00 34 ;(00 1E) NameAndType => <init>:(Ljava/lang/String;)V 0C 00 46 00 33 ;(00 1F) NameAndType => append:(Ljava/lang/String;)Ljava/lang/StringBuffer; 0C 00 47 00 3F ;(00 20) NameAndType => c:LCounter; ; 0C 00 48 00 2D ;(00 21) NameAndType => get:()I 0C 00 49 00 3E ;(00 22) NameAndType => id:I 0C 00 50 00 42 ;(00 23) NameAndType => out:Ljava/io/PrintStream; 0C 00 51 00 34 ;(00 24) NameAndType => print:(Ljava/lang/String;)V 0C 00 53 00 31 ;(00 25) NameAndType => set:(I)V 0C 00 54 00 2F ;(00 26) NameAndType => show:()V 0C 00 55 00 2F ;(00 27) NameAndType => start:()V 0C 00 56 00 2E ;(00 28) NameAndType => toString:()Ljava/lang/String; 0C 00 57 00 30 ;(00 29) NameAndType => valueOf:(I)Ljava/lang/String; 0C 00 58 00 40 ;(00 2A) NameAndType => w:LWaiting; 0C 00 59 00 35 ;(00 2B) NameAndType => wait:(Ljava/lang/Thread;)V 01 00 01 20 ;(00 2C) Utf8 = " " 01 00 03 28 29 49 ;(00 2D) Utf8 = "()I" 01 00 14 28 29 4C 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 3B ;(00 2E) Utf8 = "()Ljava/lang/String;" 01 00 03 28 29 56 ;(00 2F) 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 30) Utf8 = "(I)Ljava/lang/String;" ; 01 00 04 28 49 29 56 ;(00 31) Utf8 = "(I)V" 01 00 0D 28 49 4C 43 6F 75 6E 74 65 72 3B 29 56 ;(00 32) Utf8 = "(ILCounter;)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 33) 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 34) 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 35) 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 36) Utf8 = "([Ljava/lang/String;)V" 01 00 06 3C 69 6E 69 74 3E ;(00 37) Utf8 = "<init>" 01 00 08 43 6F 54 68 72 65 61 64 ;(00 38) Utf8 = "CoThread" 01 00 0D 43 6F 54 68 72 65 61 64 2E 6A 61 76 61 ;(00 39) Utf8 = "CoThread.java" 01 00 04 43 6F 64 65 ;(00 3A) Utf8 = "Code" 01 00 0D 43 6F 6E 73 74 61 6E 74 56 61 6C 75 65 ;(00 3B) Utf8 = "ConstantValue" 01 00 07 43 6F 75 6E 74 65 72 ;(00 3C) Utf8 = "Counter" 01 00 0A 45 78 63 65 70 74 69 6F 6E 73 ;(00 3D) Utf8 = "Exceptions" 01 00 01 49 ;(00 3E) Utf8 = "I" 01 00 09 4C 43 6F 75 6E 74 65 72 3B ;(00 3F) Utf8 = "LCounter;" 01 00 09 4C 57 61 69 74 69 6E 67 3B ;(00 40) Utf8 = "LWaiting;" ; 01 00 0F 4C 69 6E 65 4E 75 6D 62 65 72 54 61 62 6C 65 ;(00 41) 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 42) Utf8 = "Ljava/io/PrintStream;" 01 00 0E 4C 6F 63 61 6C 56 61 72 69 61 62 6C 65 73 ;(00 43) Utf8 = "LocalVariables" 01 00 0A 53 6F 75 72 63 65 46 69 6C 65 ;(00 44) Utf8 = "SourceFile" 01 00 07 57 61 69 74 69 6E 67 ;(00 45) Utf8 = "Waiting" 01 00 06 61 70 70 65 6E 64 ;(00 46) Utf8 = "append" 01 00 01 63 ;(00 47) Utf8 = "c" 01 00 03 67 65 74 ;(00 48) Utf8 = "get" 01 00 02 69 64 ;(00 49) 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 4A) Utf8 = "java/io/PrintStream" 01 00 10 6A 61 76 61 2F 6C 61 6E 67 2F 53 74 72 69 6E 67 ;(00 4B) 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 4C) Utf8 = "java/lang/StringBuffer" 01 00 10 6A 61 76 61 2F 6C 61 6E 67 2F 53 79 73 74 65 6D ;(00 4D) Utf8 = "java/lang/System" 01 00 10 6A 61 76 61 2F 6C 61 6E 67 2F 54 68 72 65 61 64 ;(00 4E) Utf8 = "java/lang/Thread" 01 00 04 6D 61 69 6E ;(00 4F) Utf8 = "main" 01 00 03 6F 75 74 ;(00 50) Utf8 = "out" ; 01 00 05 70 72 69 6E 74 ;(00 51) Utf8 = "print" 01 00 03 72 75 6E ;(00 52) Utf8 = "run" 01 00 03 73 65 74 ;(00 53) Utf8 = "set" 01 00 04 73 68 6F 77 ;(00 54) Utf8 = "show" 01 00 05 73 74 61 72 74 ;(00 55) Utf8 = "start" 01 00 08 74 6F 53 74 72 69 6E 67 ;(00 56) Utf8 = "toString" 01 00 07 76 61 6C 75 65 4F 66 ;(00 57) Utf8 = "valueOf" 01 00 01 77 ;(00 58) Utf8 = "w" 01 00 04 77 61 69 74 ;(00 59) Utf8 = "wait" ;; class info. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 00 20 ; access flag= SUPER 00 02 ; this class= "CoThread" 00 09 ; super class= "java/lang/Thread" 00 00 ; num. of implemented interface(s)= 0(d) ;;;;;;;;;;;;;;;;;;;;;; 00 03 ; num. of field(s)= 3(d) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;BEGIN field1(d) def. 00 02 ; access flag of method = PRIVATE 00 58 ; method name ="w" 00 40 ; 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 49 ; method name ="id" 00 3E ; method type ="I" ; 00 00 ; num. of attribute(s), 0(d) ; ;END field2(d) def. ;BEGIN field3(d) def. 00 02 ; access flag of method = PRIVATE 00 47 ; method name ="c" 00 3F ; method type ="LCounter;" ; 00 00 ; num. of attribute(s), 0(d) ; ;END field3(d) def. 00 03 ; num. of methods(s)= 3(d) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;BEGIN method1(d) def. 00 00 ; access flag of method = 00 37 ; method name ="<init>" 00 32 ; method type ="(ILCounter;)V" ; 00 01 ; num. of attribute(s), 1(d) ;;begin attribute 1(d) 00 3A ; attribute type= "Code" 00 00 00 42 ; attribute length= 66(d) ;; 00 03 ; stacks limits 00 03 ; locals limits 00 00 00 1A ; length of codes = 26(d) ;; 2A ; aload_0 B7 00 0C ; invokespecial java/lang/Thread/<init>()V 2A ; aload_0 BB 00 04 ; new Waiting 59 ; dup B7 00 0B ; invokespecial Waiting/<init>()V B5 00 1A ; putfield CoThread/w LWaiting; 2A ; aload_0 1B ; iload_1 B5 00 12 ; putfield CoThread/id I 2A ; aload_0 2C ; aload_2 B5 00 10 ; putfield CoThread/c LCounter; B1 ; return ;; 00 00 ; num. of exception handler(s) = 0(d) ;; 00 01 ; num. of attr. of this code attr. = 1(d) 00 41 ; code-attr.'s attr.1(d) name="LineNumberTable" 00 00 00 16 ; length of attr.=22(d) 00 05 ; 5(d) line number(s) 00 00 00 08 ; .line 8 00 04 00 09 ; .line 9 00 0F 00 0A ; .line 10 00 14 00 0B ; .line 11 00 19 00 07 ; .line 7 ;;end attribute 1(d) ; ;END method1(d) def. ;BEGIN method2(d) def. 00 01 ; access flag of method = PUBLIC 00 52 ; method name ="run" 00 2F ; method type ="()V" ; 00 01 ; num. of attribute(s), 1(d) ;;begin attribute 1(d) 00 3A ; attribute type= "Code" 00 00 00 AD ; attribute length= 173(d) ;; 00 04 ; stacks limits 00 05 ; locals limits 00 00 00 65 ; length of codes = 101(d) ;; 03 ; iconst_0 3C ; istore_1 A7 00 55 ; goto Label6 2A ; aload_0 B4 00 1A ; getfield CoThread/w LWaiting; 2A ; aload_0 B6 00 1B ; invokevirtual Waiting/wait(Ljava/lang/Thread;)V B2 00 13 ; getstatic java/lang/System/out Ljava/io/PrintStream; BB 00 07 ; new java/lang/StringBuffer 59 ; dup 2A ; aload_0 B4 00 12 ; getfield CoThread/id I B8 00 19 ; invokestatic java/lang/String/valueOf(I)Ljava/lang/String; B7 00 0E ; invokespecial java/lang/StringBuffer/<init>(Ljava/lang/String;)V 12 01 ; ldc " " B6 00 0F ; invokevirtual java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer; B6 00 18 ; invokevirtual java/lang/StringBuffer/toString()Ljava/lang/String; B6 00 14 ; invokevirtual java/io/PrintStream/print(Ljava/lang/String;)V 2A ; aload_0 B4 00 10 ; getfield CoThread/c LCounter; 4D ; astore_2 2C ; aload_2 C2 ; monitorenter 2A ; aload_0 B4 00 10 ; getfield CoThread/c LCounter; B6 00 11 ; invokevirtual Counter/get()I 36 04 ; istore 4 2A ; aload_0 B4 00 1A ; getfield CoThread/w LWaiting; 2A ; aload_0 B6 00 1B ; invokevirtual Waiting/wait(Ljava/lang/Thread;)V 2A ; aload_0 B4 00 10 ; getfield CoThread/c LCounter; 15 04 ; iload 4 04 ; iconst_1 60 ; iadd B6 00 15 ; invokevirtual Counter/set(I)V 2C ; aload_2 C3 ; monitorexit A7 00 06 ; goto Label5 2C ; aload_2 C3 ; monitorexit BF ; athrow 84 01 01 ; iinc 1 1 1B ; iload_1 10 0A ; bipush 10 A1 FF AB ; if_icmplt Label1 2A ; aload_0 B4 00 10 ; getfield CoThread/c LCounter; B6 00 16 ; invokevirtual Counter/show()V B1 ; return ;; 00 01 ; num. of exception handler(s) = 1(d) ; handler # 1 00 30 ; start_pc 00 4C ; end_pc 00 51 ; handler_pc 00 00 ; catch_type = "" ;; 00 01 ; num. of attr. of this code attr. = 1(d) 00 41 ; code-attr.'s attr.1(d) name="LineNumberTable" 00 00 00 2E ; length of attr.=46(d) 00 0B ; 11(d) line number(s) 00 00 00 0F ; .line 15 00 05 00 10 ; .line 16 00 0D 00 11 ; .line 17 00 29 00 12 ; .line 18 00 30 00 13 ; .line 19 00 39 00 14 ; .line 20 00 41 00 15 ; .line 21 00 4C 00 12 ; .line 18 00 54 00 0F ; .line 15 00 5D 00 18 ; .line 24 00 64 00 0E ; .line 14 ;;end attribute 1(d) ; ;END method2(d) def. ;BEGIN method3(d) def. 00 09 ; access flag of method = PUBLIC + STATIC 00 4F ; method name ="main" 00 36 ; method type ="([Ljava/lang/String;)V" ; 00 01 ; num. of attribute(s), 1(d) ;;begin attribute 1(d) 00 3A ; attribute type= "Code" 00 00 00 5B ; attribute length= 91(d) ;; 00 04 ; stacks limits 00 03 ; locals limits 00 00 00 33 ; length of codes = 51(d) ;; BB 00 03 ; new Counter 59 ; dup B7 00 0A ; invokespecial Counter/<init>()V 4C ; astore_1 BB 00 02 ; new CoThread 59 ; dup 03 ; iconst_0 2B ; aload_1 B7 00 0D ; invokespecial CoThread/<init>(ILCounter;)V 4D ; astore_2 2C ; aload_2 B6 00 17 ; invokevirtual java/lang/Thread/start()V BB 00 02 ; new CoThread 59 ; dup 04 ; iconst_1 2B ; aload_1 B7 00 0D ; invokespecial CoThread/<init>(ILCounter;)V 4D ; astore_2 2C ; aload_2 B6 00 17 ; invokevirtual java/lang/Thread/start()V BB 00 02 ; new CoThread 59 ; dup 05 ; iconst_2 2B ; aload_1 B7 00 0D ; invokespecial CoThread/<init>(ILCounter;)V 4D ; astore_2 2C ; aload_2 B6 00 17 ; 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 41 ; code-attr.'s attr.1(d) name="LineNumberTable" 00 00 00 16 ; length of attr.=22(d) 00 05 ; 5(d) line number(s) 00 00 00 1C ; .line 28 00 08 00 1E ; .line 30 00 16 00 1F ; .line 31 00 24 00 20 ; .line 32 00 32 00 1B ; .line 27 ;;end attribute 1(d) ; ;END method3(d) def. 00 01 ; num. of class attribute(s)= 1(d) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;BEGIN class attribute1(d) 00 44 ; class's attr.1(d) name="SourceFile" 00 00 00 02 ; length of attr.=2(d) 00 39 ; filename="CoThread.java" ;END class attribute1(d) ;; successfully parsed.
$Id: jcf.html,v 1.1 2000-06-25 23:10:47+09 kaiya Exp $