List of Java virtual machines
This article needs additional citations for verification. (September 2014) |
This article provides non-exhaustive lists of
64-bit
varieties.
The primary reference Java VM implementation is HotSpot, produced by Oracle Corporation and many other big and medium-sized companies (e.g. IBM, Redhat, Microsoft, Azul, SAP).
Free and open source implementations
Active
- Codename One – uses the open source ParparVM
- Eclipse OpenJ9– open-source from IBM J9, for AIX, Linux (x86, Power, and Z), macOS, Windows, 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.
- 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.
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.
- JamVM – developed to be an extremely small virtual machine. Uses GNU Classpath and OpenJDK. Supports several architectures. GPL. Last update 2014.
- JOP– hardware implementation of the JVM. GPL 3.
- JavaME experimental JVMdeveloped 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.
- BSD-style licence.
- Atmel AVRATmega8 used in the Asuro Robot, can be ported to other AVR-based systems.
- SableVM – first free software JVM to support JVMDI and JDWP. Makes use of GNU Classpath. LGPL. Version 1.13 released on March 30, 2007.
- Java MEVM 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.
- 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.
- 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
Proprietary implementations
Active
- Azul Platform Prime – a fully compliant, high-performance Java virtual machine based on OpenJDK that uses Azul Systems's C4 garbage collector and Falcon JIT compiler.
- JamaicaVM (aicas) – a hard real-time Java VM for embedded systems.
Inactive
- ARM.
- 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.
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).
- PreonVM – a Java VM for embedded systems and small and resource constrained devices.
See also
- Comparison of Java virtual machines
- Free Java implementations
- Java processor
- Dalvik virtual machine
References
- ^ "GCJ - GCC Wiki". gcc.gnu.org.