Kaffe

  •        3462

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.

http://www.kaffe.org/

Tags
Implementation
License
Platform

   




Related Projects

Eclipse OpenJ9 - A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput

  •    Java

Eclipse OpenJ9 is an independent implementation of a Java Virtual Machine. "Independent implementation" means it was built using the Java Virtual Machine specification without using any code from any other Java Virtual Machine. The OpenJ9 JVM combines with the Java Class libraries from OpenJDK to create a complete JDK tuned for footprint, performance, and reliability that is well suited for cloud deployments.

Cacaovm - Just-In-Time (JIT) Compiler

  •    Java

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

  •    Java

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

  •    C

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

  •    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

  •    Java

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

  •    Java

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.

Graal - High-Performance Polyglot VM

  •    Java

GraalVM is a universal virtual machine for running applications written in JavaScript, Python 3, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++. GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js, Oracle Database, or MySQL.

node-jvm - java virtual machine in pure node.js

  •    Javascript

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Java SE - Creator of Java

  •    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

  •    C

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

byte-buddy - Runtime code generation for the Java virtual machine.

  •    Java

Byte Buddy is a Java library for creating Java classes at run time. The parent artifact contains configuration information that concern all modules.

Metascala - A JVM written in Scala

  •    Scala

Metascala is a tiny metacircular Java Virtual Machine (JVM) written in the Scala programming language. Metascala is barely 3000 lines of Scala, and is complete enough that it is able to interpret itself metacircularly. Being written in Scala and compiled to Java bytecode, the Metascala JVM requires a host JVM in order to run. Although it is far from a complete implementation, Metascala already provides the ability to run untrusted bytecode securely (albeit slowly), since every operation which could potentially cause harm (including memory allocations and CPU usage) is virtualized and can be controlled. Ongoing work includes tightening of the security guarantees, improving compatibility and increasing performance.

erjang - A JVM-based Erlang VM

  •    Java

Erjang is a virtual machine for Erlang, which runs on Java 7.It loads Erlang's binary .beam file format, compiles it into Java's .class file format, and loads it into the JVM. It will eventually have it's own implementation of all Erlang's BIFs (built-in-functions) written in Java.

JDLabAgent

  •    C

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).

PataPata

  •    Java

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.

robovm - Ahead of time compiler for JVM bytecode targetting iOS, Mac OSX and Linux

  •    Java

The RoboVM compiler translates Java bytecode into native ARM or x86 code. Apps run directly on the CPU. No interpreter or virtual machine involved.

Jikes RVM

  •    Java

Jikes RVM is a flexible infrastructure for virtual machine research

Jomega is a JNI extension of IBM J9 JVM

  •    Java

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.