00000000 CAFEBABE ; magic
00000004 0000 ; minor_version
00000006 002E ; major_version
00000008 0024 ; constant_pool_count
; constant_pool_start
; constant_pool_index = 0x1
0000000A 0A ; tag = Methodref
0000000B 0005 ; class_index -> "java/lang/Object"
0000000D 0015 ; name_and_type_index -> "<init>()V"
; constant_pool_index = 0x2
0000000F 09 ; tag = Fieldref
00000010 0016 ; class_index -> "java/lang/System"
00000012 0017 ; name_and_type_index -> "outLjava/io/PrintStream;"
; constant_pool_index = 0x3
00000014 08 ; tag = String
00000015 0018 ; string_index -> "Hello world!"
; constant_pool_index = 0x4
00000017 0A ; tag = Methodref
00000018 0019 ; class_index -> "java/io/PrintStream"
0000001A 001A ; name_and_type_index -> "println(Ljava/lang/String;)V"
; constant_pool_index = 0x5
0000001C 07 ; tag = Class
0000001D 001B ; name_index -> "java/lang/Object"
; constant_pool_index = 0x6
0000001F 08 ; tag = String
00000020 001C ; string_index -> "Yes."
; constant_pool_index = 0x7
00000022 07 ; tag = Class
00000023 001D ; name_index -> "helloworld/Main"
; constant_pool_index = 0x8
00000025 01 ; tag = Utf8
00000026 0006 ; length
00000028 3C696E69743E ; bytes = "<init>"
; constant_pool_index = 0x9
0000002E 01 ; tag = Utf8
0000002F 0003 ; length
00000031 282956 ; bytes = "()V"
; constant_pool_index = 0xa
00000034 01 ; tag = Utf8
00000035 0004 ; length
00000037 436F6465 ; bytes = "Code"
; constant_pool_index = 0xb
0000003B 01 ; tag = Utf8
0000003C 000F ; length
0000003E 4C696E654E756D6265725461626C65 ; bytes = "LineNumberTable"
; constant_pool_index = 0xc
0000004D 01 ; tag = Utf8
0000004E 0012 ; length
00000050 4C6F63616C5661726961626C655461626C65 ; bytes = "LocalVariableTable"
; constant_pool_index = 0xd
00000062 01 ; tag = Utf8
00000063 0004 ; length
00000065 74686973 ; bytes = "this"
; constant_pool_index = 0xe
00000069 01 ; tag = Utf8
0000006A 0011 ; length
0000006C 4C68656C6C6F776F726C642F4D61696E3B ; bytes = "Lhelloworld/Main;"
; constant_pool_index = 0xf
0000007D 01 ; tag = Utf8
0000007E 0004 ; length
00000080 6D61696E ; bytes = "main"
; constant_pool_index = 0x10
00000084 01 ; tag = Utf8
00000085 0016 ; length
00000087 285B4C6A6176612F6C616E672F537472696E673B2956 ; bytes = "([Ljava/lang/String;)V"
; constant_pool_index = 0x11
0000009D 01 ; tag = Utf8
0000009E 0004 ; length
000000A0 61726773 ; bytes = "args"
; constant_pool_index = 0x12
000000A4 01 ; tag = Utf8
000000A5 0013 ; length
000000A7 5B4C6A6176612F6C616E672F537472696E673B ; bytes = "[Ljava/lang/String;"
; constant_pool_index = 0x13
000000BA 01 ; tag = Utf8
000000BB 000A ; length
000000BD 536F7572636546696C65 ; bytes = "SourceFile"
; constant_pool_index = 0x14
000000C7 01 ; tag = Utf8
000000C8 0009 ; length
000000CA 4D61696E2E6A617661 ; bytes = "Main.java"
; constant_pool_index = 0x15
000000D3 0C ; tag = NameAndType
000000D4 0008 ; name_index -> "<init>"
000000D6 0009 ; descriptor_index -> "()V"
; constant_pool_index = 0x16
000000D8 07 ; tag = Class
000000D9 001E ; name_index -> "java/lang/System"
; constant_pool_index = 0x17
000000DB 0C ; tag = NameAndType
000000DC 001F ; name_index -> "out"
000000DE 0020 ; descriptor_index -> "Ljava/io/PrintStream;"
; constant_pool_index = 0x18
000000E0 01 ; tag = Utf8
000000E1 000C ; length
000000E3 48656C6C6F20776F726C6421 ; bytes = "Hello world!"
; constant_pool_index = 0x19
000000EF 07 ; tag = Class
000000F0 0021 ; name_index -> "java/io/PrintStream"
; constant_pool_index = 0x1a
000000F2 0C ; tag = NameAndType
000000F3 0022 ; name_index -> "println"
000000F5 0023 ; descriptor_index -> "(Ljava/lang/String;)V"
; constant_pool_index = 0x1b
000000F7 01 ; tag = Utf8
000000F8 0010 ; length
000000FA 6A6176612F6C616E672F4F626A656374 ; bytes = "java/lang/Object"
; constant_pool_index = 0x1c
0000010A 01 ; tag = Utf8
0000010B 0004 ; length
0000010D 5965732E ; bytes = "Yes."
; constant_pool_index = 0x1d
00000111 01 ; tag = Utf8
00000112 000F ; length
00000114 68656C6C6F776F726C642F4D61696E ; bytes = "helloworld/Main"
; constant_pool_index = 0x1e
00000123 01 ; tag = Utf8
00000124 0010 ; length
00000126 6A6176612F6C616E672F53797374656D ; bytes = "java/lang/System"
; constant_pool_index = 0x1f
00000136 01 ; tag = Utf8
00000137 0003 ; length
00000139 6F7574 ; bytes = "out"
; constant_pool_index = 0x20
0000013C 01 ; tag = Utf8
0000013D 0015 ; length
0000013F 4C6A6176612F696F2F5072696E7453747265616D3B ; bytes = "Ljava/io/PrintStream;"
; constant_pool_index = 0x21
00000154 01 ; tag = Utf8
00000155 0013 ; length
00000157 6A6176612F696F2F5072696E7453747265616D ; bytes = "java/io/PrintStream"
; constant_pool_index = 0x22
0000016A 01 ; tag = Utf8
0000016B 0007 ; length
0000016D 7072696E746C6E ; bytes = "println"
; constant_pool_index = 0x23
00000174 01 ; tag = Utf8
00000175 0015 ; length
00000177 284C6A6176612F6C616E672F537472696E673B2956 ; bytes = "(Ljava/lang/String;)V"
; constant_pool_end
0000018C 0021 ; access_flags
0000018E 0007 ; this_class -> "helloworld/Main"
00000190 0005 ; super_class -> "java/lang/Object"
00000192 0000 ; interfaces_count
; interfaces_start
; interfaces_end
00000194 0000 ; fields_count
; fields_start
; fields_end
00000196 0002 ; methods_count
; methods_start
; method_index = 0x0
00000198 0001 ; access_flags
0000019A 0008 ; name_index = "<init>"
0000019C 0009 ; descriptor_index = "()V"
0000019E 0001 ; attributes_count
; attribute_index = 0x0
000001A0 000A ; attribute_name_index = "Code"
000001A2 00000033 ; attribute_length
; code_start ************************************************* 
000001A6 0001 ; start_pc
000001A8 0001 ; max_locals
000001AA 00000005 ; code_length
000001AE 2A ; ALOAD_0 
000001AF B70001 ; INVOKESPECIAL java/lang/Object.<init>
000001B2 B1 ; RETURN 
000001B3 0000 ; exception_table_length
000001B5 0002 ; attributes_count
; attribute_index = 0x0
000001B7 000B ; attribute_name_index = "LineNumberTable"
000001B9 0000000A ; attribute_length
000001BD 0002000000030004000B ; info
; attribute_index = 0x1
000001C7 000C ; attribute_name_index = "LocalVariableTable"
000001C9 0000000C ; attribute_length
000001CD 000100000005000D000E0000 ; info
; code_end *************************************************** 
; method_index = 0x1
000001D9 0009 ; access_flags
000001DB 000F ; name_index = "main"
000001DD 0010 ; descriptor_index = "([Ljava/lang/String;)V"
000001DF 0001 ; attributes_count
; attribute_index = 0x0
000001E1 000A ; attribute_name_index = "Code"
000001E3 0000004E ; attribute_length
; code_start ************************************************* 
000001E7 0002 ; start_pc
000001E9 0001 ; max_locals
000001EB 00000018 ; code_length
000001EF B20002 ; GETSTATIC java/lang/System.out
000001F2 1203 ; LDC "Hello world!"
000001F4 B60004 ; INVOKEVIRTUAL java/io/PrintStream.println
000001F7 2A ; ALOAD_0 
000001F8 C10005 ; INSTANCEOF 5
000001FB 99000B ; IFEQ 11
000001FE B20002 ; GETSTATIC java/lang/System.out
00000201 1206 ; LDC "Yes."
00000203 B60004 ; INVOKEVIRTUAL java/io/PrintStream.println
00000206 B1 ; RETURN 
00000207 0000 ; exception_table_length
00000209 0002 ; attributes_count
; attribute_index = 0x0
0000020B 000B ; attribute_name_index = "LineNumberTable"
0000020D 00000012 ; attribute_length
00000211 00040000000500080006000F000700170009 ; info
; attribute_index = 0x1
00000223 000C ; attribute_name_index = "LocalVariableTable"
00000225 0000000C ; attribute_length
00000229 000100000018001100120000 ; info
; code_end *************************************************** 
; methods_end
00000235 0001 ; attributes_count
; attributes_start
; attribute_index = 0x0
00000237 0013 ; attribute_name_index = "SourceFile"
00000239 00000002 ; attribute_length
0000023D 0014 ; info
; attributes_end
