Javaコンパイラ
出典: フリー百科事典『ウィキペディア(Wikipedia)』
JavaコンパイラとはJava言語のソースコードをクラスファイルに翻訳(コンパイル)するコンピュータプログラムのことである。
主要なコンパイラ[編集]
2007年時点で、以下のような主要なJavaコンパイラがある:
- Javac
- オラクルから出ているJava Development Kitに含まれている。
- Jikes
- C++で書かれたIBMから出ているオープンソースコンパイラであり、最適化のため静的単一代入形式の変形を使用している。
- GCJ
- GNUコンパイラコレクション (GCC) の一部である。GCCは C、Fortran、Pascal他、Java以外の言語も含む。 GCCのバックエンドを用いてネイティブコードを生成できる。
- ECJ
- the Eclipse Compiler for Java, Eclipse JDTに使用されているオープンソースインクリメンタルコンパイラ。
最適化[編集]
Java仮想マシン (Java VM)はクラスファイルをロードし、バイトコードをインタプリタで実行するか、または、JITコンパイラがそれをCPUネイティブの機械語にコンパイルして実行する。Jikesだけを除きほとんどのJavaコンパイラは、バイトコードにコンパイルする段階で最適化をすると、Java VMでHotSpotなどが最適化するさいに混乱してしまい、かえって遅くなるという理由により、Java VMによってプログラムが実行されるまでほとんど最適化をしない。そのため、たとえ、異なるコンパイラを使おうと、だいたい同じクラスファイルを生成する。
外部リンク[編集]
- Jikes homepage
- JSR 199 Java Compiler API Java Specification Request for invoking the Java compiler from a Java program
- Java Sun
|
||||||||||||||||||||||||||||||||||
|
||||||||||||||