From Wikipedia, the free encyclopedia
Original author(s)
  • Tim Wilkinson
  • Peter Mehlitz
Developer(s)Transvirtual Technologies
Initial release1996; 27 years ago (1996)
Final release
1.1.9[1] Edit this on Wikidata / 22 February 2008
Preview release
1.1.10-pre[2] Edit this on Wikidata / 22 August 2011
Written inC and Java
Operating systemUnix-like
TypeJava Virtual Machine

Kaffe is a discontinued "clean room design" (reverse engineering) version of a Java Virtual Machine. It comes with a subset of the Java Platform, Standard Edition (Java SE), Java API, and tools needed to provide a Java runtime environment. Like most other Free Java virtual machines, Kaffe uses GNU Classpath as its class library.

Kaffe, first released in 1996, was the original open-source Java implementation. Initially developed as part of another project, it grew so popular that developers Tim Wilkinson and Peter Mehlitz founded Transvirtual Technologies, Inc. with Kaffe as the company's flagship product. In July 1998, Transvirtual released Kaffe OpenVM under a GNU General Public License.

Kaffe is a lean and portable virtual machine, although it is significantly slower than commercial implementations.[3] When compared to the reference implementation of the Java Virtual Machine written by Sun Microsystems, Kaffe is significantly smaller; it thus appeals to embedded system developers. It comes with just-in-time compilers for many of the CPU architectures, and has been ported to more than 70 system platforms in total. It runs on devices ranging from embedded SuperH devices to IBM zSeries mainframe computers, and it will even run on a PlayStation 2.

Unlike other implementations, in the past Kaffe used GNU Multi-Precision Library (GMP) to support arbitrary precision arithmetics. This feature has been removed from release 1.1.9, causing protests from people that claim they used Kaffe for the sole reason GMP arithmetic being faster than the typical pure java implementation, available in other distributions.[4] The capability was removed to reduce the maintenance work, expecting that interested people will integrate GMP support into GNU Classpath or OpenJDK. Subsequently GNU Classpath introduced GMP support in version 0.98.

See also[edit]


  1. ^ "Release_1_1_9: updated docs for 1.1.9".
  2. ^ "README: Kaffe 1.1.10-pre".
  3. ^ Performance Comparison of Java/.NET Runtimes (Oct 2004)
  4. ^ "FWD: [kaffe] Removed GMP math?".

External links[edit]