List of Java virtual machines

This article provides non-exhaustive lists of Java SE Java virtual machines (JVMs). It does not include every Java ME vendor. 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. Much 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 implementationsEdit

ActiveEdit

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

InactiveEdit

  • 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.
  • JuiceJavaME 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 systemsEdit

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

  • 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
  • JavaOS - Original project from Sun Microsystems
  • PreonVM — a bare metal Java VM for embedded systems.

Proprietary implementationsEdit

ActiveEdit

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

InactiveEdit

Lesser-known proprietary Java virtual machinesEdit

  • 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).
  • PreonVM — a Java VM for embedded systems and small and resource constrained devices.

See alsoEdit

ReferencesEdit

  1. ^ "GCJ - GCC Wiki". gcc.gnu.org.

External linksEdit