Javaコンパイラ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

JavaコンパイラとはJavaソースコードJavaクラスファイルに翻訳(コンパイル)するコンピュータプログラムのことである。

主要なコンパイラ[編集]

2007年時点で、以下のような主要なJavaコンパイラがある:

Javac
オラクルから出ているJava Development Kitに含まれている。
Jikes
C++で書かれたIBMから出ているオープンソースコンパイラであり、最適化のため静的単一代入形式の変形を使用している。
GCJ
GNUコンパイラコレクション (GCC) の一部である。GCCは CFortranPascal他、Java以外の言語も含む。 GCCのバックエンドを用いてネイティブコードを生成できる。
ECJ
the Eclipse Compiler for Java, Eclipse JDTに使用されているオープンソースインクリメンタルコンパイラ。

最適化[編集]

Java仮想マシン (Java VM) はJavaクラスファイルをロードし、Javaバイトコードインタプリタで実行するか、または、JITコンパイラがそれをCPUネイティブの機械語にコンパイルして実行する。Jikesだけを除きほとんどのJavaコンパイラは、Javaバイトコードにコンパイルする段階で最適化をすると、Java VMでHotSpotなどが最適化するさいに混乱してしまい、かえって遅くなるという理由により、Java VMによってプログラムが実行されるまでほとんど最適化をしない。そのため、たとえ、異なるコンパイラを使おうと、だいたい同じJavaクラスファイルを生成する。

外部リンク[編集]