Kaffe

{{about|the Java Virtual Machine|the Bulgarian band|Kaffe (band)}}{{Multiple issues|

{{Unbalanced|date=July 2024}}

{{Advertising|date=July 2024}}

{{update|date=July 2024}}

}}

{{Infobox software

| name = Kaffe

| logo =

| screenshot =

| caption =

| author = {{ubl|Tim Wilkinson|Peter Mehlitz}}

| developer = Transvirtual Technologies

| released = {{Start date and age|1996}}

| discontinued = yes

| latest release version = {{wikidata|property|preferred|references|edit|Q1721044|P348|P548=Q2804309}}

| latest release date = {{wikidata|qualifier|preferred|single|Q1721044|P348|P548=Q2804309|P577}}

| latest preview version = {{wikidata|property|preferred|references|edit|Q1721044|P348|P548=Q51930650}}

| latest preview date = {{wikidata|qualifier|preferred|single|Q1721044|P348|P548=Q51930650|P577}}

| operating system = Unix-like

| programming language = C and Java

| genre = Java Virtual Machine

| license = GPL-2.0-only

| website = {{URL|www.kaffe.org}}

}}

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.[http://www.shudo.net/jit/perf/ Performance Comparison of Java/.NET Runtimes (Oct 2004)] When compared to the reference implementation of the Java Virtual Machine written by Sun Microsystems, Kaffe was significantly smaller; it thus appeals to embedded system developers.{{Unbalanced opinion|date=July 2024}} 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 arithmetic. This feature has been removed from release 1.1.9, causing protests from people that claim they used Kaffe for the sole reason of GMP arithmetic being faster than the typical pure java implementation, available in other distributions.{{cite web | url=http://www.mail-archive.com/kaffe@kaffe.org/msg13209.html | title=FWD: [kaffe] Removed GMP math? }}{{Unreliable source?|date=July 2024}} 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

{{Portal|Free and open-source software|Computer programming}}

References

{{reflist}}