Rumah  >  Artikel  >  Java  >  Apakah struktur bytecode JVM di Java?

Apakah struktur bytecode JVM di Java?

WBOY
WBOYke hadapan
2023-04-22 15:55:08781semak imbas

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.

Apakah jenis data asas Java?

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam