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

Active

  • Avian a small, easily embeddable Java VM and classpath using just-in-time compilation.
  • Azul Zulu is an OpenJDK build supported by Azul Systems and is compliant with the Java SE 8, 7, and 6 standards.
  • Bck2Brwsr is a small JVM capable of booting fast and running in 100% of modern browsers including those that have no special support for Java. Last release in April, 2016.
  • CACAO uses GNU Classpath, supports multiple architectures. GPL. 1.6.0 released September 4, 2012.
  • Codename One uses the open source ParparVM
  • DoppioJVM a JVM written in TypeScript capable of running in a browser.
  • Eclipse OpenJ9 from IBM, for Windows, AIX, Linux (x86 ,PPC and Z), MVS, OS/400, Pocket PC, z/OS.
  • GraalVM CE an embeddable, polyglot VM from OracleLabs, written in Java. It uses the Graal compiler for both AOT and JIT compilations, by means of abstract syntax tree and partial evaluation techniques.
  • HaikuVM for Atmel AVRs (Arduino) and other micros using the leJOS runtime.
  • HotSpot the commercial Java VM implementation by Oracle.
  • 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.
  • Jelatine JVM.
  • Jikes RVM (Jikes Research Virtual Machine) research project. PPC and IA-32. Supports Apache Harmony and GNU Classpath libraries. Eclipse Public License.
  • JVM.go a JVM written in Go.
  • 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.
  • Multi-OS Engine Java VM for iOS based on ART .
  • RopeVM the Rope Java Virtual Machine implements the Rope model which is a novel thread level speculative execution model called Rushing Object Parallel Environment. This is a research project aimed at exploiting parallelism in traditional object oriented programs.

Inactive

  • AegisVM inactive since 2004.
  • Apache Harmony supports several architectures and systems. Discontinued November 2011. Apache License 2.0.
  • BicaVM a JVM implementation in JavaScript
  • GCJ the GCC Java compiler, that compiles either to bytecode or to native machine code. The product is currently in maintenance mode.
  • IKVM.NET Java for Mono and the Microsoft .NET Framework. Uses OpenJDK. Zlib License.
  • Jaos Java on Active Object System. Uses GNU Classpath as a standard library. Unmaintained.
  • Japhar Created by the Hungry Programmers. LGPL. Last release was 0.11, released on 19 June 2002.
  • 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.
  • JESSICA Java-Enabled Single-System-Image Computing Architecture.
  • 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.
  • JwiK open source Java VM for 8bit micro for wireless applications.
  • Kaffe uses GNU Classpath. GPL. 1.1.9 released on February 26, 2008.
  • leDos real-mode x86 JVM running on DOS. MPL.
  • MateVM an experimental JIT implemented in Haskell. GPL.
  • 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.
  • 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.
  • VM02 a Java-compatible environment for the Apple II series of computers.
  • 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.[1][2]
  • 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 version 0.2.
  • JOS - Another Java operating system. Last version in 2006.[3]
  • JavaOS - Original project from Sun Microsystems

Proprietary implementations

Active

  • Azul Zing JVM a full compliant Java Virtual Machine based on OpenJDK that uses Azul Systems's C4 garbage collector.
  • CEE-J a clean-room implementation of Sun's Java technology, Skelmir is not a licensee of Oracle.
  • Excelsior JET a licensed Java SE implementation with AOT compiler for Windows, OS X, and Linux on Intel x86 and Linux on 32-bit ARM.
  • GraalVM EE a polyglot VM from OracleLabs, written in Java and designed for different deployment scenarios (OpenJDK, Node.js, MySQL, Oracle Database, or standalone), uses the Graal compiler for both AOT and JIT compilations, by means of abstract syntax tree and partial evaluation techniques.
  • 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.
  • JamaicaVM (aicas) a hard real-time Java VM for embedded systems.
  • JBlend (Aplix) a Java ME implementation.
  • MicroJvm (IS2T - Industrial Smart Software Technology) a wide range of virtual machines dedicated to embedded systems (including hard real-time constrained systems), ARM7, ARM9, AVR, AVR32, PPC, MIPS.
  • OJVM also known as "JServer", from Oracle Corporation.
  • PTC Perc a real time Java for embedded systems from PTC, Inc. It is a clean-room implementation of Standard Edition Java. PTC is not a licensee of Oracle.
  • SAP JVM based on HotSpot, available for Windows, Linux and macOS.[4][5]
  • Waratek CloudVM for Java a multitenant JVM that allows per-tenant isolation, metering and resource control.

Inactive

  • Hewlett-Packard Java for HP-UX, OpenVMS, Tru64 and Reliant (Tandem) UNIX platforms.
  • Classic JVM for IBM OS/400 (superseded by J9).
  • Apogee provides embedded Java using IBM J9 and Apache Harmony Class Library for X86, ARM, MIPS, PowerPC running on Linux, LynxOS, WinCE.
  • JBed (Esmertec) an embedded Java with multimedia capabilities.
  • 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).
  • Microsoft Java Virtual Machine discontinued in 2001.
  • RoboVM AOT compiler and runtime which targets iOS, Mac OS X and Linux. Largely based on Android's runtime.
  • SAPJVM (SAP) 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).

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

References

  1. "JNode 0.2.8 Released", Thom Holwerda, OSNews, 4 February 2009.
  2. Jnode: Java New Operating System Design Effort, jnode.org. Retrieved 24 July 2014.
  3. The JOS Project web page, JOS page
  4. "SAP JVM - SAP Cloud Platform Documentation". help.hana.ondemand.com. SAP. Retrieved March 18, 2017.
  5. "SAP Development Tools for Cloud". tools.hana.ondemand.com. SAP. Retrieved March 18, 2017.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.