Kaffe
![]() | This article has multiple issues.Please helpimprove itor discuss these issues on thetalk page.(Learn how and when to remove these template messages)
|
Original author(s) |
|
---|---|
Developer(s) | Transvirtual Technologies |
Initial release | 1996 |
Final release | 1.1.9[1] ![]() |
Preview release | 1.1.10-pre[2] ![]() |
Repository | |
Written in | CandJava |
Operating system | Unix-like |
Type | Java Virtual Machine |
License | GPL-2.0-only |
Website | www |
Kaffeis a discontinued "clean room design"(reverse engineering) version of aJava Virtual Machine.It comes with a subset of theJava Platform, Standard Edition(Java SE),Java API,andtoolsneeded to provide aJavaruntime environment. Like most other Free Java virtual machines, Kaffe usesGNU Classpathas itsclass 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 foundedTransvirtualTechnologies, Inc. with Kaffe as the company's flagship product. In July 1998, Transvirtual released Kaffe OpenVM under aGNU General Public License.
Kaffe is a lean and portablevirtual machine,although it is significantly slower than commercial implementations.[3]When compared to the reference implementation of the Java Virtual Machine written bySun Microsystems,Kaffe was significantly smaller; it thus appeals toembedded systemdevelopers.[unbalanced opinion?]It comes withjust-in-timecompilersfor many of theCPU architectures,and has beenportedto more than 70system platformsin total. It runs on devices ranging fromembeddedSuperHdevices toIBM zSeriesmainframe computers,and it will even run on aPlayStation 2.
Unlike other implementations, in the past Kaffe usedGNU 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][unreliable source?]The capability was removed to reduce the maintenance work, expecting that interested people will integrate GMP support intoGNU ClasspathorOpenJDK.Subsequently GNU Classpath introduced GMP support in version 0.98.