1. Nombor ajaib
Empat bait pertama semua fail .class ialah nombor ajaib dan nilai tetap nombor ajaib ialah 0xCAFEBABE. Nombor ajaib diletakkan pada permulaan fail dan JVM boleh menentukan sama ada fail itu berkemungkinan fail .class berdasarkan permulaan fail. Jika ini berlaku, operasi seterusnya akan diteruskan.
2. Nombor versi
Nombor versi ialah 4 bait selepas nombor ajaib 2 bait pertama menunjukkan nombor versi seterusnya, dan 2 bait terakhir Dipaparkan nombor versi utama.
Bait selepas nombor versi utama ialah entri kumpulan tetap. Terdapat dua jenis pemalar yang disimpan dalam kolam pemalar: literal dan rujukan simbolik. Literal diisytiharkan sebagai nilai pemalar Akhir dalam kod, dan simbol merujuk kepada nama kategori dan antara muka yang layak secara global, nama dan penentu medan, dan nama dan penentu kaedah. Kolam malar dibahagikan kepada dua bahagian: kaunter kolam malar dan kawasan data kolam malar.
3 Kumpulan malar
Dua bait selepas penghujung kumpulan malar menerangkan sama ada Kelas ialah kelas atau antara muka dan sama ada ia menggunakan Awam, Abstrak. , Akhir, dsb. Hiasan penghias.
4 Akses bendera
Dua bait selepas penghujung kumpulan pemalar, menerangkan sama ada Kelas ialah kelas atau antara muka dan sama ada ia diubah suai oleh Awam, Abstrak, Akhir, dll. Pengubahsuaian Jimat.
5. Nama kelas semasa
Dua bait selepas bendera akses menerangkan nama kelas semasa yang layak sepenuhnya. Nilai yang disimpan oleh kedua-dua bait ini ialah nilai indeks dalam kumpulan malar Mengikut nilai indeks, nama yang layak sepenuhnya bagi kelas ini boleh didapati dalam kolam malar.
6. Nama kelas induk
Dua bait selepas nama kelas semasa menerangkan nama kelas induk yang layak sepenuhnya, sama seperti di atas dan juga disimpan dalam nilai indeks kolam malar.
7. Maklumat antara muka
Selepas nama kelas induk ialah pembilang antara muka dua bait, menerangkan bilangan antara muka yang dilaksanakan oleh kelas atau kelas induk. N bait seterusnya ialah nilai indeks pemalar rentetan untuk semua nama antara muka.
8 Jadual medan
Jadual medan digunakan untuk menerangkan pembolehubah yang diisytiharkan dalam kelas dan antara muka, termasuk pembolehubah peringkat kelas dan pembolehubah contoh, tetapi tidak termasuk kaedah dalaman pengisytiharan pembolehubah tempatan.
Jenis data asas Java dibahagikan kepada:
1, digunakan untuk mewakili jenis data integer .
2. Jenis titik terapung, jenis data yang digunakan untuk mewakili perpuluhan.
3. Jenis aksara Kata kunci jenis aksara ialah "char".
4. Jenis Boolean ialah jenis data asas yang mewakili nilai logik.
Atas ialah kandungan terperinci Apakah struktur bytecode JVM di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!