List of Java virtual machines

This article provides non-exhaustive lists of Java SE Java virtual machines (JVMs). It does not include a large number of 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


  • Azul Zulu is an OpenJDK build supported by Azul Systems and is compliant with the Java SE 11, 8, 7, and 6 standards.
  • Codename One uses the open source ParparVM
  • Eclipse OpenJ9 from IBM, for Windows, AIX, Linux (x86, Power, and Z), macOS, MVS, OS/400, Pocket PC, z/OS.
  • GraalVM is based on HotSpot/OpenJDK, it has a polyglot feature, to transparently mix and match supported languages.
  • HotSpot the open-source Java VM implementation by Oracle.
  • JamVM developed to be an extremely small virtual machine compared to others. Designed to use GNU Classpath. Supports several architectures. GPL.
  • Jikes RVM (Jikes Research Virtual Machine) research project. PPC and IA-32. Supports Apache Harmony and GNU Classpath libraries. Eclipse Public License.
  • leJOS Robotics suite, a firmware replacement for Lego Mindstorms programmable bricks, provides a Java programming environment for the Lego Mindstorms RCX and NXT robots.
  • Maxine meta-circular open source research VM from Oracle Labs and the University of Manchester.


  • Apache Harmony supports several architectures and systems. Discontinued November 2011. Apache License 2.0.
  • GCJ the GCC Java compiler, that compiles either to bytecode or to native machine code. As of GCC 7, gcj and associated libjava runtime library have been removed from GCC.[1]
  • IKVM.NET Java for Mono and the Microsoft .NET Framework. Uses OpenJDK. Zlib License.
  • 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.
  • Kaffe uses GNU Classpath. GPL. 1.1.9 released on February 26, 2008.
  • Mika VM intended for use in embedded devices. Cross-platform. BSD-style licence.
  • NanoVM developed to run on the Atmel AVR ATmega8 used in the Asuro Robot, can be ported to other AVR-based systems.
  • SableVM first free software JVM to support JVDMI and JDWP. Makes use of GNU Classpath. LGPL. Version 1.13 released on March 30, 2007.
  • 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.
  • VMKit of LLVM.
  • 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.

Java operating systems

Some JVM's are intended to run without an underlying OS.

  • JNode (Java New Operating System Design Effort), written 99% in Java (native compiled), provides own JVM and JIT compiler. Based on GNU Classpath.[2][3]
  • JX Java operating system that focuses on a flexible and robust operating system architecture developed as an open source system by the University of Erlangen. GPL. Version 0.1.1 released on October 10, 2007
  • JOS - Another Java operating system. Last version in 2006.[4]
  • JavaOS - Original project from Sun Microsystems
  • PreonVM a bare metal Java VM for embedded systems.

Proprietary implementations


  • Azul Zing JVM a full compliant Java Virtual Machine based on OpenJDK that uses Azul Systems's C4 garbage collector.
  • JamaicaVM (aicas) a hard real-time Java VM for embedded systems.


Lesser-known proprietary Java virtual machines

  • Blackdown Java was a licensed port to Linux of the reference SunSoft implementation. It was discontinued in 2007, after OpenJDK became available.
  • Sun CVM CVM originally standing for "Compact Java Virtual Machine".
  • Gemstone modified for Java EE features (application DBMS).
  • Intent (Tao Group).
  • NSIcom CrE-ME.
  • PreonVM a Java VM for embedded systems and small and resource constrained devices.

See also


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.