Jump to content

List of Java virtual machines

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by C00liu5 (talk | contribs) at 12:13, 1 February 2020 (added doppiojvm to list). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

Active

  • 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.
  • DoppioJVM — written in JavaScript

Inactive

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

Active

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

Inactive

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

References