Fail kelas Java

Fail kelas Java ialah sebuah fail dengan sambungan fail .class mengandungi kod bait Java yang boleh dilakukan pada mesin maya Java (JVM).

 Susun atur umum 

 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),http://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#Remaining
Java SE 9 = 53 (0x35 hex),https://bugs.openjdk.java.net/browse/JDK-8148785
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 ... ... ...

Kategori:Java