This article needs additional citations for . verification (September 2014)
This article provides non-exhaustive lists of
Java SE (JVMs). It does not include a large number of Java virtual machines Java ME vendors. Note that Java EE runs on the standard Java SE JVM but that some vendors specialize in providing a modified JVM optimized for Java EE applications. A large amount of Java development work takes place on Windows, Solaris, Linux and FreeBSD, primarily with the Oracle JVMs. Note the further complication of different 32-bit/ 64-bit varieties.
The primary reference Java VM implementation is
HotSpot, produced by Oracle Corporation.
Free and open source implementations [ edit ]
AegisVM (inactive since 2004).
Apache Harmony — supports several architectures and systems. Discontinued November 2011. Apache License 2.0. Avian — A small, easily embeddable Java VM and classpath using
just-in-time compilation. Azul Zulu — is an
OpenJDK build supported by Azul Systems. It is open source and free to download. Bck2Brwsr — small JVM capable to boot fast and run in 100% of modern browsers including those that have no special support for Java. Last release in September, 2013.
CACAO — uses GNU Classpath, supports multiple architectures. GPL. 1.6.0 released September 4, 2012. GCJ the
GCC Java compiler, that compiles either to bytecode or to native machine code. The product is currently in maintenance mode. HaikuVM, for
Atmel AVRs ( Arduino) and other micros using the leJOS runtime.
HotSpot, the primary reference Java VM implementation.
IcedTea — has the only working free software Java Web browser plugin. GPL+ linking exception.
IKVM.NET — Java for Mono and the Microsoft .NET Framework. Uses OpenJDK. Zlib License.
Jamiga — for the Amiga platform. Depends on GNU Classpath. GPL.
JamVM — Developed to be an extremely small virtual machine compared to others. Designed to use GNU Classpath. Supports several architectures. GPL.
Jaos — Java on Active Object System. Uses GNU Classpath as a standard library. Unmaintained.
Jato VM — uses GNU Classpath. GPL.
JC — Converts class files from byte-code into C. Uses Soot and GNU Classpath. GNU Library or LGPL licenses. Jelatine JVM
JESSICA (Java-Enabled Single-System-Image Computing Architecture).
Jikes RVM (Jikes Research Virtual Machine) — Research project. PPC and IA-32. Supports Apache Harmony and GNU Classpath libraries. Eclipse Public License. JNode — operating system. Version 0.2.8 released on January 29, 2009. LGPL.
JOP — Hardware implementation of the JVM. GPL 3.
Juice — JavaME experimental JVM developed to run on the NUXI operating system.
Jupiter — Uses Boehm garbage collector and GNU Classpath. GPL. Unmaintained.
JVM.go — A JVM written in Go-lang. JwiK Open Source Java VM for 8bit micro for wireless applications.
JX (operating system) — GPL. Version 0.1.1 released on October 10, 2007.
Kaffe — Uses GNU Classpath. GPL. 1.1.9 released on February 26, 2008. leDos real-mode x86 JVM running on MS-DOS. MPL.
leJOS — Robotics suite, a firmware replacement for Lego Mindstorms programmable bricks, provides a Java programming environment for the Lego Mindstorms RCX and NXT robots. MateVM — An experimental JIT implemented in
Maxine — meta-circular open source research VM from Oracle Labs.
Mika VM — intended for use in embedded devices. Cross-platform. BSD-style licence. miniMV (from UABC-Tij for embedded systems and Wireless Sensor network devices)
Mysaifu ( Windows CE/ Windows Mobile) — the only open source Java SE-compatible JVM still in development for PocketPC devices. GPL 2.
NanoVM — developed to run on the Atmel AVR ATmega8 used in the Asuro Robot, can be ported to other AVR-based systems.
OpenJDK — Open Java Development Kit is a free and open source implementation licensed under the GNU General Public License (GNU GPL) with a linking exception. RoboVM —
AOT compiler and runtime which targets iOS, Mac OS X and Linux. Largely based on Android's runtime.
SableVM — First free software JVM to support . Makes use of GNU Classpath. LGPL. Version 1.13 released on March 30, 2007. JVDMI and JDWP
Squawk virtual machine — A Java ME VM for embedded systems and small devices. Cross-Platform. GPL.
SuperWaba — Java-like virtual machine for portable devices. GPL. Discontinued, succeeded by TotalCross.
TakaTuka — for wireless sensor network devices. GPL.
TinyVM. VM02 a Java-compatible environment for the
Apple II series of computers. VMkit of
Wonka VM — Developed to run on Acunia's ARM-based hardware. Some code drawn from GNU Classpath. BSD-style licence. No longer under active development, superseded by Mika VM.
Proprietary implementations [ edit ]
Azul Zing JVM a fully compliant Java Virtual Machine based on HotSpot that uses the Azul C4 (Continuously Concurrent Compacting Collector) garbage collector. Supports memory heaps of 100s of GB without GC pauses and is able to grow and shrink the heap based on load. CEE-J is a
clean room implementation of Sun's Java technology, Skelmir is not a licensee of Oracle.
Excelsior JET is a licensed Java SE implementation with AOT compiler for Windows, OS X and Linux Hewlett-Packard, Java for HP-UX, OpenVMS, Tru64 and Reliant (Tandem) UNIX platforms
J9 (IBM), for Windows, AIX, Linux (x86 and PPC), MVS, OS/400, Pocket PC, z/OS "Classic JVM" for IBM OS/400 (superseded by J9)
Imsys AB provides their SNAP (Simple Network Application Platform) JVM running on their proprietary IM1000 and IM3000 microprocessors that feature microcode execution of Java byte codes.
Apogee provides embedded Java using IBM J9 and
Apache Harmony Class Library for X86, ARM, MIPS, PowerPC running on Linux, LynxOS, WinCE. JBed, (
Esmertec) is an embedded Java with multimedia capabilities
JamaicaVM, ( aicas) is a hard real-time Java VM for embedded systems JBlend, (Aplix) is a Java ME implementation
Jinitiator, developed by Oracle before they purchased Sun. Designed to improve support for Oracle Forms in web sites.
JRockit (originally from Appeal Virtual Machines) acquired by Oracle for Linux, Windows and Solaris
Mac OS Runtime for Java (MRJ) MicroJvm (IS2T - Industrial Smart Software Technology) Wide range of virtual machines dedicated to embedded systems (including hard real-time constrained systems), ARM7, ARM9, AVR, AVR32, PPC, MIPS, ...
Microsoft Java Virtual Machine (discontinued in 2001) OJVM (also known as "JServer") from
Oracle Corporation PERC (
Aonix/ Atego) is a real time Java for embedded. Aonix is not a licensee of Oracle. SAPJVM (
SAP) is a licensed and modified SUN JVM ported to all supported platforms of SAP NetWeaver, started as Java 5, in the meantime Java 6 compatible (Windows i386, x64, IA-64; Linux x86, IA-64, PowerPC; AIX PowerPC; HP-UX SPARC IA-64; Solaris SPARC x86-64; i5/OS PowerPC) Waratek CloudVM for Java A
multitenant JVM that allows per-tenant isolation, metering and resource control
Lesser-known proprietary Java virtual machines [ edit ]
Blackdown Java was a licensed port to Linux of the reference SunSoft implementation. It was discontinued in 2007, after OpenJDK became available. C virtual machine (CVM, from Sun), supports C
Gemstone - modified for Java EE features (application DBMS) Golden Code Development (
EComStation and OS/2 port of Java RTE and SDK for Java SE v1.4.1_07) HP ChaiVM and MicrochaiVM
Intent (Tao Group) Novell, India.
NSIcom CrE-ME PreonVM (Virtenio) A VM for embedded systems and small devices.
See also [ edit ]
References [ edit ]
External links [ edit ]