•        3435

Kaffe is a great choice as a base for virtual machine education and/or research, or if you need a virtual machine as an integral component of an open source or free software Java distribution. Kaffe is constantly under development, and lacks compatibility in many ways with the current releases of Java. It lacks many key features of a full Java virtual machine implementation - including security related features such as a complete bytecode verifier essential for running untrusted code.

Kaffe is not the best Java virtual machine for developing Java applications, as it lacks much in the way of documentation, compatibility, debugging/profiling support, etc. If you are learning Java, or are looking for a complete Java development environment, you will probably be best served by using a "real" Java development environment (such as the JDK) licensed from Sun. Check out our links page for more information.




Related Projects

Cacaovm - Just-In-Time (JIT) Compiler

cacaovm is a Java Virtual Machine (JVM) which uses Just-In-Time (JIT) compilation to execute Java methods natively. cacaovm uses GNU Classpath or OpenJDK or phoneME as Java runtime library. The cacaovm project started as a research JVM to explore new implementation techniques. The first version for the Alpha was released in February 1997 as a binary.

IKVM.NET - Java for Mono and .NET Framework

IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. It has JVM implemented in .NET. A .NET implementation of Java class libraries. It is interoperable between Java and .NET.

GNU Classpath - Mother of most of the VM

GNU Classpath provides core class libraries for use with virtual machines and compilers for the java programming language. GNU Classpath 1.0 will be fully compatible with the 1.1 and 1.2 API specifications, in addition to having significant compatibility with the 1.3, 1.4, 1.5 and 1.6 APIs.

Kaffe - Not Java

Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment.

JC Virtual Machine - Converts Java to C

JC Virtual machine converts Java class files to C source code. It could also compiles with GCC and loads them with built-in ELF loader. Additional to that, JC provides a complete Java runtime with optimization to increase performance.

Harmony - Open Source Java SE

Apache Harmony is a modular Java runtime with class libraries and associated tools. One of the goals of the Harmony project is to create a design modular enough so that parts of the VM can be implemented in different languages. This project started in 2005 and it is under active development.

Java SE - Creator of Java

Java Standard Edition provides Java development kit and Runtime to develop and deploy Java programs. Developed by Sun and take over by Oracle. It has support for different environments like Desktop, Embedded, Web, Realtime etc.

Open JDK - Open Source implementation of Java

Open JDK is the open source implementation of Java platform. It has loads of sub projects like JDK6, JDK7, HotSpot, Graphics, Swing, Web etc.

programming-for-the-jvm - Code for book Programming for the Java Virtual Machine by Joshua Engel

Code for book Programming for the Java Virtual Machine by Joshua Engel

mith-jvm-lib - MITH Libraries and Utilities for the Java Virtual Machine

MITH Libraries and Utilities for the Java Virtual Machine

jvm-on-cl - Java Virtual Machine on Common Lisp

Java Virtual Machine on Common Lisp


JDLabAgent is a dynamic link library which is loaded into the Java Virtual Machine via Java Virtual Machine Debug Interface (JVMDI). The JDLabAgent can be parameterized via config files and logs JVM events (e.g. breakpoints, exceptions).

uvm - The Unsafe Virtual Machine: An alternative implementation of the JVM

The Unsafe Virtual Machine: An alternative implementation of the JVM


Groningen is a framework to run automated experiments on servers that run on the Java Virtual Machine (JVM) such that the most optimal JVM settings outcome can be reached with the least amount of human effort and time while maximizing safety. (Mirror of https://code.google.com/p/groningen/)


PataPata is an experiment moving ideas from Squeak and HyperCard to the Java Virtual Machine (JVM) using JavaScript and other JVM languages. Other inspirations include Augment, Design Science, eToys' constructivism amp; OLPC/Sugar's connectivism.

Jikes RVM

Jikes RVM is a flexible infrastructure for virtual machine research

Jomega is a JNI extension of IBM J9 JVM

JOmega is a Open Source Java Mobile J9 Extension This LGPL library is a JAVA-JNI-C++ extension of J9 IBM Java Virtual Machine CDC for WinCe. It provides low level power management support, sound and a SQL database based on Sqlite.

Jelatine JVM

Jelatine is a Java virtual machine implementing the Connected Limited Device Configuration of the Java 2 Micro Edition body of standards. It also includes its own CLDC-oriented classpath.

JVM dynamic languages MetaobjectProtocol

Library for implementation of interoperable metaobject protocols for dynamic languages running on a Java Virtual Machine.