0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | |
0 | ca | fe | ba | be | 00 | 00 | 00 | 32 | 00 | 22 | 07 | 00 | 02 | 01 | 00 | 1e |
10 | 63 | 6f | 6d | 2f | 6d | 6f | 62 | 69 | 6c | 65 | 66 | 69 | 73 | 68 | 2f | 74 |
20 | 65 | 73 | 74 | 2f | 48 | 65 | 6c | 6c | 6f | 57 | 6f | 72 | 6c | 64 | 07 | 00 |
30 | 04 | 01 | 00 | 10 | 6a | 61 | 76 | 61 | 2f | 6c | 61 | 6e | 67 | 2f | 4f | 62 |
40 | 6a | 65 | 63 | 74 | 01 | 00 | 06 | 3c | 69 | 6e | 69 | 74 | 3e | 01 | 00 | 03 |
50 | 28 | 29 | 56 | 01 | 00 | 04 | 43 | 6f | 64 | 65 | 0a | 00 | 03 | 00 | 09 | 0c |
60 | 00 | 05 | 00 | 06 | 01 | 00 | 0f | 4c | 69 | 6e | 65 | 4e | 75 | 6d | 62 | 65 |
70 | 72 | 54 | 61 | 62 | 6c | 65 | 01 | 00 | 12 | 4c | 6f | 63 | 61 | 6c | 56 | 61 |
80 | 72 | 69 | 61 | 62 | 6c | 65 | 54 | 61 | 62 | 6c | 65 | 01 | 00 | 04 | 74 | 68 |
90 | 69 | 73 | 01 | 00 | 20 | 4c | 63 | 6f | 6d | 2f | 6d | 6f | 62 | 69 | 6c | 65 |
a0 | 66 | 69 | 73 | 68 | 2f | 74 | 65 | 73 | 74 | 2f | 48 | 65 | 6c | 6c | 6f | 57 |
b0 | 6f | 72 | 6c | 64 | 3b | 01 | 00 | 04 | 6d | 61 | 69 | 6e | 01 | 00 | 16 | 28 |
c0 | 5b | 4c | 6a | 61 | 76 | 61 | 2f | 6c | 61 | 6e | 67 | 2f | 53 | 74 | 72 | 69 |
d0 | 6e | 67 | 3b | 29 | 56 | 09 | 00 | 11 | 00 | 13 | 07 | 00 | 12 | 01 | 00 | 10 |
e0 | 6a | 61 | 76 | 61 | 2f | 6c | 61 | 6e | 67 | 2f | 53 | 79 | 73 | 74 | 65 | 6d |
f0 | 0c | 00 | 14 | 00 | 15 | 01 | 00 | 03 | 6f | 75 | 74 | 01 | 00 | 15 | 4c | 6a |
100 | 61 | 76 | 61 | 2f | 69 | 6f | 2f | 50 | 72 | 69 | 6e | 74 | 53 | 74 | 72 | 65 |
110 | 61 | 6d | 3b | 08 | 00 | 17 | 01 | 00 | 27 | 48 | 65 | 6c | 6c | 6f | 20 | 77 |
120 | 6f | 72 | 6c | 64 | 2c | 20 | 77 | 65 | 6c | 63 | 6f | 6d | 65 | 20 | 74 | 6f |
130 | 20 | 4d | 6f | 62 | 69 | 6c | 65 | 66 | 69 | 73 | 68 | 2e | 63 | 6f | 6d | 2e |
140 | 0a | 00 | 19 | 00 | 1b | 07 | 00 | 1a | 01 | 00 | 13 | 6a | 61 | 76 | 61 | 2f |
150 | 69 | 6f | 2f | 50 | 72 | 69 | 6e | 74 | 53 | 74 | 72 | 65 | 61 | 6d | 0c | 00 |
160 | 1c | 00 | 1d | 01 | 00 | 07 | 70 | 72 | 69 | 6e | 74 | 6c | 6e | 01 | 00 | 15 |
170 | 28 | 4c | 6a | 61 | 76 | 61 | 2f | 6c | 61 | 6e | 67 | 2f | 53 | 74 | 72 | 69 |
180 | 6e | 67 | 3b | 29 | 56 | 01 | 00 | 04 | 61 | 72 | 67 | 73 | 01 | 00 | 13 | 5b |
190 | 4c | 6a | 61 | 76 | 61 | 2f | 6c | 61 | 6e | 67 | 2f | 53 | 74 | 72 | 69 | 6e |
1a0 | 67 | 3b | 01 | 00 | 0a | 53 | 6f | 75 | 72 | 63 | 65 | 46 | 69 | 6c | 65 | 01 |
1b0 | 00 | 0f | 48 | 65 | 6c | 6c | 6f | 57 | 6f | 72 | 6c | 64 | 2e | 6a | 61 | 76 |
1c0 | 61 | 00 | 21 | 00 | 01 | 00 | 03 | 00 | 00 | 00 | 00 | 00 | 02 | 00 | 01 | 00 |
1d0 | 05 | 00 | 06 | 00 | 01 | 00 | 07 | 00 | 00 | 00 | 2f | 00 | 01 | 00 | 01 | 00 |
1e0 | 00 | 00 | 05 | 2a | b7 | 00 | 08 | b1 | 00 | 00 | 00 | 02 | 00 | 0a | 00 | 00 |
1f0 | 00 | 06 | 00 | 01 | 00 | 00 | 00 | 03 | 00 | 0b | 00 | 00 | 00 | 0c | 00 | 01 |
200 | 00 | 00 | 00 | 05 | 00 | 0c | 00 | 0d | 00 | 00 | 00 | 09 | 00 | 0e | 00 | 0f |
210 | 00 | 01 | 00 | 07 | 00 | 00 | 00 | 37 | 00 | 02 | 00 | 01 | 00 | 00 | 00 | 09 |
220 | b2 | 00 | 10 | 12 | 16 | b6 | 00 | 18 | b1 | 00 | 00 | 00 | 02 | 00 | 0a | 00 |
230 | 00 | 00 | 0a | 00 | 02 | 00 | 00 | 00 | 05 | 00 | 08 | 00 | 06 | 00 | 0b | 00 |
240 | 00 | 00 | 0c | 00 | 01 | 00 | 00 | 00 | 09 | 00 | 1e | 00 | 1f | 00 | 00 | 00 |
250 | 01 | 00 | 20 | 00 | 00 | 00 | 02 | 00 | 21 |
Byte index range | Description | Value | Remark |
00-03 | magic (u4) | cafebabe | The magic number is common to all Java class files. |
04-05 | minor version (u2) | 0 | Minor and Major versions are version numbers of the compiler that created the class file. |
06-07 | major version (u2) | 50 |
Minor and Major versions are version numbers of the compiler that created the class file. Class file (Major.minor) version = 50.0 The class file is compiled by JVM 1.6 (Java SE 6) and is supported by JVM 1.7 (Java SE 7) |
08-09 | constant pool count (u2) | 34 | Constant pool count is the number of entries in the constant pool table. |
0a -1c0 | constant pool | See Constant Pool Table | Constant pool is a table of variable length entries defined by a leading tag byte followed by data. The constant pool holds Strings, numeric values, class references, method references, and so on. |
1c1-1c2 | access flags (u2) | public | Access flags are modifiers used for the class or interface (such as public, final, and the like). |
1c3-1c4 | this class (u2) | com.mobilefish.test.HelloWorld | This class is an index into the constant pool (pointing to type CONSTANT_Class), which represents the class or interface defined by this class file. |
1c5-1c6 | super class (u2) | java.lang.Object | Super class is an index into the constant pool (pointing to type CONSTANT_Class), which represents the superclass of this class. The only exception is java.lang.Object whose superclass index is 0. |
1c7-1c8 | interfaces count (u2) | 0 | Interface count is the number of entries in the interface table. |
interfaces info | Not available | ||
1c9-1ca | fields count (u2) | 0 | Field count is the number of entries in the field table. |
fields info | Not available | ||
1cb-1cc | methods count (u2) | 2 | Method count is the number of entries in the method table. |
1cd-24e | methods info | See Methods, Methods attributes and Code atributes table below | Method info is an array of variable-length entries representing each method defined (not inherited) by this class. |
24f-250 | attributes count (u2) | 1 | Attribute count is the number of entries in the attribute table. |
251-258 | attributes info | See Class attributes table below | Attribute info is an array of variable-length entries representing each attribute of this class. Attributes give additional information about the class, such as the source file. |
CP Index | Byte index range | Tag (u1) | Constant Type | Value (*1) | Ref1 (*2) | Ref2 (*3) | Class or String | Name | Type |
0 | The constant pool index always start with index 0 but the entry is not included in the class file | ||||||||
1 | a-c | 7 | Class Ref | 2 | com.mobilefish.test.HelloWorld | ||||
2 | d-2d | 1 | UTF8 | com/mobilefish/test/HelloWorld | |||||
3 | 2e-30 | 7 | Class Ref | 4 | java.lang.Object | ||||
4 | 31-43 | 1 | UTF8 | java/lang/Object | |||||
5 | 44-4c | 1 | UTF8 | <init> | |||||
6 | 4d-52 | 1 | UTF8 | ()V | |||||
7 | 53-59 | 1 | UTF8 | Code | |||||
8 | 5a-5e | 10 | Method Ref | 3 | 9 | java.lang.Object | <init> | ()V | |
9 | 5f-63 | 12 | Name and Type | 5 | 6 | <init> | ()V | ||
10 | 64-75 | 1 | UTF8 | LineNumberTable | |||||
11 | 76-8a | 1 | UTF8 | LocalVariableTable | |||||
12 | 8b-91 | 1 | UTF8 | this | |||||
13 | 92-b4 | 1 | UTF8 | Lcom/mobilefish/test/HelloWorld; | |||||
14 | b5-bb | 1 | UTF8 | main | |||||
15 | bc-d4 | 1 | UTF8 | ([Ljava/lang/String;)V | |||||
16 | d5-d9 | 9 | Field Ref | 17 | 19 | java.lang.System | out | Ljava.io.PrintStream; | |
17 | da-dc | 7 | Class Ref | 18 | java.lang.System | ||||
18 | dd-ef | 1 | UTF8 | java/lang/System | |||||
19 | f0-f4 | 12 | Name and Type | 20 | 21 | out | Ljava.io.PrintStream; | ||
20 | f5-fa | 1 | UTF8 | out | |||||
21 | fb-112 | 1 | UTF8 | Ljava/io/PrintStream; | |||||
22 | 113-115 | 8 | String Ref | 23 | Hello world, welcome to Mobilefish.com. | ||||
23 | 116-13f | 1 | UTF8 | Hello world, welcome to Mobilefish.com. | |||||
24 | 140-144 | 10 | Method Ref | 25 | 27 | java.io.PrintStream | println | (Ljava.lang.String;)V | |
25 | 145-147 | 7 | Class Ref | 26 | java.io.PrintStream | ||||
26 | 148-15d | 1 | UTF8 | java/io/PrintStream | |||||
27 | 15e-162 | 12 | Name and Type | 28 | 29 | println | (Ljava.lang.String;)V | ||
28 | 163-16c | 1 | UTF8 | println | |||||
29 | 16d-184 | 1 | UTF8 | (Ljava/lang/String;)V | |||||
30 | 185-18b | 1 | UTF8 | args | |||||
31 | 18c-1a1 | 1 | UTF8 | [Ljava/lang/String; | |||||
32 | 1a2-1ae | 1 | UTF8 | SourceFile | |||||
33 | 1af-1c0 | 1 | UTF8 | HelloWorld.java |
Index | Byte index range | Access Flag (u2) | Name (u2) | Descriptor (u2) | Attributes count (u2) |
0 | 1cd-1d4 | public | <init> | ()V | 1 |
1 | 20a-211 | public static | main | ([Ljava/lang/String;)V | 1 |
Index | Ref to Methods index | Byte index range | Name (u2) | Attribute length (u4) |
0 | 0 | 1d5-1da | Code | 47 |
1 | 1 | 212-217 | Code | 55 |
Index | Ref to Method attributes index | Byte index range | max stack (u2) (maximum size of the operand stack) | max locals (u2) (maximum number of local variables allocated for this method) | code length (u4) | code array (*1) | exception table length (u2) | exception array (*2) | attributes count (u2) |
0 | 0 | 1db-1eb | 1 | 1 | 5 | 2a b7 00 08 b1 | 0 | 2 | |
1 | 1 | 218-22c | 2 | 1 | 9 | b2 00 10 12 16 b6 00 18 b1 | 0 | 2 |
# | Ref to Code attributes index | Byte index range | line number table length (u2) | start pc (u2) | linenumber (u2) |
0 | 0 | 1f2-1f7 | 1 | 0 | 3 |
1 | 1 | 233-23c | 2 | 0 8 | 5 6 |
# | Ref to Code attributes index | Byte index range | localvariable table length (u2) | start pc (u2) | length (u2) | name index (u2) | descriptor index (u2) | index (u2) | name (*1) | descriptor (*2) |
0 | 0 | 1fe-209 | 1 | 0 | 5 | 12 | 13 | 0 | this | Lcom/mobilefish/test/HelloWorld; |
1 | 1 | 243-24e | 1 | 0 | 9 | 30 | 31 | 0 | args | [Ljava/lang/String; |
# | Byte index range | Name (u2) | Attribute length (u2) | Value (*1) |
0 | 251-258 | SourceFile | 2 | value (u2)=HelloWorld.java |