Java Virtual Machine or JVM
for short is a software execution engine to run the java programs. Java Virtual
Machine is also known as "Java Interpreter" which converts the
byte codes (compiled Java programs) into OS Specific commands and also handles
the related tasks like memory management, provide security & handles multithreading.
Here are the list of Open Source JVMs.
Wonka -- an open source embedded JVM & class library Wonka is ACUNIA's Virtual Machine and class library for Java. It is available under the GPL-compatible Wonka Public Licence, based on the license used by
BSD. Wonka is extremely portable and self-contained, and can optionally be used with its own real-time operating system (RTOS) to provide a complete solution for embedded devices. All Java2 language features are supported, and the class libraries meet all the requirements for a platform to support the Open Service Gateway Initiative (OSGi) framework and the ACUNIA Open Telematics Framework (OTF).
Kaffe? Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU General Public License. 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.
Kissme a free Java Virtual Machine kissme is Java Virtual Machine (JVM) freely available under the GPL.
It is currently still under development but can run many console java applications.
The Kissme JVM has the following properties:
1. It runs on UNIX, particularly GNU/Linux.
2. It is written in C (although the JIT is being written in Java)
3. It uses native (Operating System) threads, as opposed to user or 'green' threads.
4. It uses a conservative Mark and Sweep garbage collector. (Hopefully this will change in the future.)
5. It interprets java byte codes. (A JIT compiler that compiles byte code to native i386 code is under development, though this project has been inactive for some time.)
LaTTe : An Open-Source Java Virtual Machine and Just-in-Time Compiler Recently, Java became a prominent language with a wide application spectrum, from embedded systems to enterprise servers. One of the major issues in using Java is performance. The Java Virtual Machine (JVM), a software layer to execute Java bytecodes, while providing desirable features such as a "write-once, run anywhere model" for software developers, and security and portability for end-users, does not immediately lend itself to high performance. In order to circumvent the JVM overhead, a technique called Just-in-Time (JIT) compilation is used to implement a Java virtual machine.
Open Source ByteCode Libraries in Java Javassist (Java programming assistant) is a load-time reflective system for Java. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file before the JVM loads it. Unlike other similar systems, Javassist provides source-level abstraction; programmers can modify a class file without detailed knowledge of the Java bytecode. They do not have to even write an inserted bytecode sequence; Javassist instead can compile a fragment of source text on line (for example, just a single statement). This ease of use is a unique feature of Javassit against other tools.
The SableVM Project SableVM is a robust, extremely portable, efficient, and
specifications-compliant Java virtual machine that aims to be easy to
maintain and to extend. It features a state-of-the-art and efficient
interpreter engine. Its source code is very accessible and easy to
understand. It also has many robustness features that have been the object
of careful design. SableVM is a clean-room implementation of the publicly
A Novel Approach for Porting Perl to the Java Virtual Machine At the fourth Perl Conference, two possible approaches for porting Perl to the Java Virtual Machine (JVM) were presented. Both these approaches have unfortunate drawbacks that render them cumbersome for all but trivial subsets of Perl. This paper discusses a novel approach for porting Perl to the JVM. Due to an "impedance mismatch" between perl's intermediate representation (IR) and the bare JVM, the more generalized GNU Kawa IR is used as a companion to perl's IR. The perl IR is massaged into Kawa's "middle-layer" IR. In turn, Kawa's IR compiles directly to JVM
LaTTe : An Open-Source Java Virtual Machine and Just-in-Time Compiler Recently, Java became a prominent language with a wide application spectrum, from embedded systems to enterprise servers. One of the major issues in using Java is performance. The Java Virtual Machine (JVM), a software layer to execute Java bytecodes, while providing desirable features such as a "write-once, run anywhere model" for software developers, and security and portability for end-users, does not immediately lend itself to high performance. In order to circumvent the JVM overhead, a technique called Just-in-Time (JIT) compilation is used to implement a Java virtual machine. Through JIT compilation, a bytecode method is translated into a native method on the fly, so as to remove the interpretation overhead.
joeq virtual machine A Java 2 (JDK 1.3/1.4) compatible virtual machine. joeq is unique in that it is almost entirely implemented in Java, making it reliable and efficient. It is also language-independent, so code from any language can be seamlessly and dynamically compiled.
PERC PERC is a clean-room Virtual Machine (VM) supporting the execution of Java? platform applications in embedded systems. PERC was expressly created for use in demanding embedded systems--not retro-fitted after the fact. PERC delivers the ease, elegance, and efficiency of Java without sacrificing the integrity, performance, or real-time benefits of legacy approaches.