Javaクラスファイル 【.classファイル】 Java class file
概要
Javaクラスファイル(.classファイル)とは、Java言語で定義されたクラスを実行形式(Javaバイトコード)に変換したファイル。実行環境に用意されたJava仮想マシン(JVM)によって実行することができる。ファイル名の標準の拡張子は「.class」。開発者がJava言語で記述したソースコード(.javaファイルなど)は、いったん独自の「Javaバイトコード」と呼ばれる中間言語によるプログラムに変換(コンパイル)されて実行環境へ提供される。実行環境では、JVMがバイトコードを読み込んで、それぞれの機種やオペレーティングシステム(OS)に適したコード形式(ネイティブコード)へ変換し直して実行する。
プログラムの変換が2回行われ、実行環境側でも変換処理が必要なため性能がある程度犠牲になるものの、開発者は単一のバイトコード形式のプログラムを作成して配布するだけで、JVMが動作する環境ならば複数の異なるプラットフォームで同じように動作させることができる(クロスプラットフォーム)。
Java言語はオブジェクト指向言語となっており、「クラス」(class)を基本的な単位としてプログラムを構成する。開発者が定義したクラスをコンパイラによってバイトコード形式に変換し、実行環境へ提供可能な状態にしたバイナリファイルがJavaクラスファイルである。
一つのクラスが一つのファイルに対応しており、元になった.javaファイルなどに複数のクラスが記述されている場合は、それぞれ別のクラスファイルとして作成される。開発環境や実行環境にも、言語仕様に組み込まれた標準のクラスファイルなどが添付されており、アプリケーションから参照して機能を呼び出すことができる。
アプリケーションの配布
よほど単純なものでない限り、ひとまとまりのJavaアプリケーションは複数のクラスファイルや関連する設定ファイル、リソースファイル(プログラム中で使用する画像など)など多数のファイルで構成されることになる。
実際にアプリケーションを配布する際には、これらのファイル群をディレクトリ構造上の配置なども含めて一つのファイルに連結し、データ圧縮した配布用のファイル形式を用いる。標準形式としてJAR形式(Java ARchiver)が用意されているが、分野や用途に応じてWAR形式、EAR形式、APK形式、AAR形式などを用いる場合もある。