クラスファイルの構造
903 ワード
1、言語関係なし
仮想マシンは、バイトコード
2、は、8ビットバイト単位のバイナリストリームのセットであり、各データ項目は、 に厳密に順次コンパクトに配列する.ファイルフォーマットは、符号なしとテーブル の2つのデータ型のみを持つ擬似構造ストレージを採用している.マジック数:ファイルの最初の4バイト、このファイルが仮想マシンに受け入れられるclassファイルであるかどうかを判断するための 定数プールは主に2つの種類を格納する:字面量、記号参照 Java言語では多重継承は許可されていないため、親インデックスは1つしかありません. があります.フィールドテーブルは、インタフェースまたはクラスで宣言された変数 を記述するために使用される. Java言語ではフィールドはリロードできません.2つのフィールドのデータ型、修飾子は同じかどうかにかかわらず、異なる名前 を使用する必要があります.メソッドテーブル を修飾できない. である.異常表 はJavaコードの一部であり、コンパイラは簡単なジャンプコマンドではなく異常テーブルを使用してJava異常およびfinally処理メカニズム を実現する.
仮想マシンは、バイトコード
Class
ファイルのソースがどの言語であるかにかかわらず、Class
ファイルの構造に合致すればJava仮想マシン上で実行できます.2、
Class
類ファイルの構造Class
ファイル中のjava.lang.Object
を除いて、すべてのJavaクラスには親volatile
とtransient
の2つのキーワードは方法Slot
は、仮想マシンがローカル変数にメモリを割り当てるために使用する最小単位