Skip to content

Instantly share code, notes, and snippets.

@kgmyshin
Created December 6, 2015 04:35
Show Gist options
  • Save kgmyshin/12779125a016e0eded3c to your computer and use it in GitHub Desktop.
Save kgmyshin/12779125a016e0eded3c to your computer and use it in GitHub Desktop.
Javaクラスファイルで Hello, World
- magic
CAFEBABE
- minor_virsion
0000
- major_version
0034
- constant_pool_count
(25 + 1)
001A
- constant_pool
#1 = Utf8 Hello
01 0005 48656C6C6F
01000548656C6C6F
#2 = Class #1
07 0001
070001
#3 = Utf8 java/lang/Object
01 0010 6A6176612F6C616E672F4F626A656374
0100106A6176612F6C616E672F4F626A656374
#4 = Class #3
07 0003
070003
#5 = Utf8 java/lang/System
01 0010 6A6176612F6C616E672F53797374656D
0100106A6176612F6C616E672F53797374656D
#6 = Class #5
07 0005
070005
#7 = Utf8 java/io/PrintStream
01 0013 6A6176612F696F2F5072696E7453747265616D
0100136A6176612F696F2F5072696E7453747265616D
#8 = Class #7
07 0007
070007
#9 = Utf8 out
01 0003 6F7574
0100036F7574
#10 = Utf8 Ljava/io/PrintStream;
01 0015 4C6A6176612F696F2F5072696E7453747265616D3B
0100154C6A6176612F696F2F5072696E7453747265616D3B
#11 = NameAndType #9:#10
0C 0009 000A
0C0009000A
#12 = Fieldref #8.#11
09 0006 000B
090006000B
#13 = Utf8 println
01 0007 7072696E746C6E
0100077072696E746C6E
#14 = UTf8 (Ljava/lang/String;)V
01 0015 284C6A6176612F6C616E672F537472696E673B2956
010015284C6A6176612F6C616E672F537472696E673B2956
#15 = NameAndType #13:#14
0C 000D 000E
0C000D000E
#16 = Methodref #8.#15
0A 0008 000F
0A0008000F
#17 = Utf8 <init>
01 0006 3C696E69743E
0100063C696E69743E
#18 = Utf8 ()V
01 0003 282956
010003282956
#19 = NameAndType #17:#18
0C 0011 0012
0C00110012
#20 = Methodref #3.#19
0A 0004 0013
0A00040013
#21 = Utf8 Hello, World
01 000C 48656C6C6F2C20576F726C64
01000C48656C6C6F2C20576F726C64
#22 = String #21
08 0015
080015
#23 = Utf8 Code
01 0004 436F6465
010004436F6465
#24 = Utf8 main
01 0004 6D61696E
0100046D61696E
#25 = Utf8 ([Ljava/lang/String;)V
01 0016 285B4C6A6176612F6C616E672F537472696E673B2956
010016285B4C6A6176612F6C616E672F537472696E673B2956
- access_flags
0020
- this_class
0002
- super_class
0004
- interfaces_count
0000
- interfaces
なし
- fields_count
0000
- fields
なし
- methods_count
0002
- methods
- デフォルトコンストラクタ
- access_flags
0000
- name_index
0011
- descriptor_index
0012
- attributes_count
0001
- attributes
- Code
- attribute_name_index
0017
- attribute_length
00000011
- max_stack 2
0001
- max_locals 2
0001
- code_length 4
00000005
- code 5
2ab70014b1
- exception_table_length 2
0000
- attributes_count 2
0000
- main関数
- access_flags
0009 (ACC_PUBLIC, ACC_STATIC)
- name_index
0018
- descriptor_index
0019
- attributes_count
0001
- attributes
- Code
- attribute_name_index
0017
- attribute_length
00000015
- max_stack 2
0002
- max_locals 2
0001
- code_length 4
00000009
- code 9
b2000c1216b60010b1
- exception_table_length 2
0000
- attributes_count 2
0000
- attributes_count
0000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment