Kaffeは、クリーンルーム設計によって開発された
Java仮想マシンです。
Javaプラットフォームの実行環境に必要な、
Java Platform, Standard Edition (
Java SE) のAPIとツールの一部を備えています。多くのフリーな
Java仮想マシンと同様に、KaffeはクラスライブラリとしてGNU Classpathを利用しています。
商用実装の仮想マシンと比較すると、Kaffeの性能は著しく劣りますが、その一方で、非常に小型で移植性に優れているという特徴があります。特に、
サン・マイクロシステムズ(現Oracle)の
リファレンス実装であるJVMと比較すると、Kaffeはサイズが非常に小さいため、リソースが限られた
組み込みシステム環境にとって魅力的な選択肢となります。
Kaffeは、様々な
マイクロプロセッサ向けにジャストインタイムコンパイル(JIT)方式を実装しており、その移植性の高さから、70以上のプラットフォームで動作します。
組み込みシステム向けの
SuperHから、
IBMの
メインフレームであるSystem z、さらには
PlayStation 2のようなゲーム機まで、幅広い環境で利用できます。この幅広い対応が、Kaffeの大きな強みとなっています。
Kaffeは自由ソフトウェアであり、
GNU General Public License (GPL) の下で
ライセンスされています。世界中のプログラマーによって共同開発されており、オープンなコミュニティによって支えられています。開発者たちは、
メーリングリストでの議論に加えて、IRC (Internet Relay Chat) のirc.freenode.orgの#kaffeチャンネルで活発に意見交換を行っています。
興味深いことに、Kaffeという名称は、
デンマーク語、
ノルウェー語、
スウェーデン語で「コーヒー」を意味します。
Javaがジャワコーヒーに由来していることにちなんで、この名前が選ばれました。この名称からも、
Javaとの深い関わりがうかがえます。
Kaffeは、
Java仮想マシンの実装を学ぶための優れた教材でもあります。そのクリーンルーム設計により、
Java VMの内部構造を理解する上で、他の実装よりも比較的理解しやすいとされています。また、JITコンパイラの実装など、高度な技術の学習にも役立ちます。
関連情報としては、Kaffeがクラスライブラリとして利用しているGNU Classpathがあります。GNU Classpathは、
Java SEのAPIを実装したフリーのクラスライブラリで、Kaffeの動作に不可欠な要素です。
関連項目
GNU Classpath
外部リンク
Kaffe 公式サイト
*
How to Implement a Java Virtual Machine