ofset bait
|
saiz
|
jenis atau nilai
|
penerangan
|
0
|
4 bytes
|
u1 = 0xCA hex
|
angka ajaib (CAFEBABE) bagi menentukan fail mengikut format fail kelas
|
1
|
u1 = 0xFE hex
|
2
|
u1 = 0xBA hex
|
3
|
u1 = 0xBE hex
|
4
|
2 bait
|
u2
|
nombor versi minor bagi format fail kelas yang dipakai
|
5
|
6
|
2 bait
|
u2
|
nombor versi major bagi format fail kelas yang dipakai.
Java SE 13 = 57 (0x39 hex),
Java SE 12 = 56 (0x38 hex),
Java SE 11 = 55 (0x37 hex),
Java SE 10 = 54 (0x36 hex),[1]
Java SE 9 = 53 (0x35 hex),[2]
Java SE 8 = 52 (0x34 hex), Java SE 7 = 51 (0x33 hex), Java SE 6.0 = 50 (0x32 hex), Java SE 5.0 = 49 (0x31 hex), JDK 1.4 = 48 (0x30 hex), JDK 1.3 = 47 (0x2F hex), JDK 1.2 = 46 (0x2E hex), JDK 1.1 = 45 (0x2D hex). Maklumat nombor-nombor versi yang lebih awal tercata di nota kaki 1 di The JavaTM Virtual Machine Specification 2nd edition
|
7
|
8
|
2 bait
|
u2
|
bilangan constant pool, bilangan entri dalam jadual constant pool berikut. This count is at least one greater than the actual number of entries; see following discussion.
|
9
|
10
|
cpsize (variable)
|
table
|
constant pool table, an array of variable-sized constant pool entries, containing items such as literal numbers, strings, and references to classes or methods. Indexed starting at 1, containing (constant pool count - 1) number of entries in total (see note).
|
...
|
...
|
...
|
10+cpsize
|
2 bytes
|
u2
|
access flags, a bitmask
|
11+cpsize
|
12+cpsize
|
2 bytes
|
u2
|
identifies this class, index into the constant pool to a "Class"-type entry
|
13+cpsize
|
14+cpsize
|
2 bytes
|
u2
|
identifies super class, index into the constant pool to a "Class"-type entry
|
15+cpsize
|
16+cpsize
|
2 bytes
|
u2
|
interface count, number of entries in the following interface table
|
17+cpsize
|
18+cpsize
|
isize (variable)
|
table
|
interface table: a variable-length array of constant pool indexes describing the interfaces implemented by this class
|
...
|
...
|
...
|
18+cpsize+isize
|
2 bytes
|
u2
|
field count, number of entries in the following field table
|
19+cpsize+isize
|
20+cpsize+isize
|
fsize (variable)
|
table
|
field table, variable length array of fields
each element is a field_info structure defined in https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.5
|
...
|
...
|
...
|
20+cpsize+isize+fsize
|
2 bytes
|
u2
|
method count, number of entries in the following method table
|
21+cpsize+isize+fsize
|
22+cpsize+isize+fsize
|
msize (variable)
|
table
|
method table, variable length array of methods
each element is a method_info structure defined in https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.6
|
...
|
...
|
...
|
22+cpsize+isize+fsize+msize
|
2 bytes
|
u2
|
attribute count, number of entries in the following attribute table
|
23+cpsize+isize+fsize+msize
|
24+cpsize+isize+fsize+msize
|
asize (variable)
|
table
|
attribute table, variable length array of attributes
each element is an attribute_info structure defined in https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7
|
...
|
...
|
...
|