Recent from talks
All channels
Be the first to start a discussion here.
Be the first to start a discussion here.
Be the first to start a discussion here.
Be the first to start a discussion here.
Welcome to the community hub built to collect knowledge and have discussions related to List of Java virtual machines.
Nothing was collected or created yet.
List of Java virtual machines
View on Wikipediafrom Wikipedia
This article needs additional citations for verification. (September 2014) |
This article provides non-exhaustive lists of Java SE Java virtual machines (JVMs). It does not include every Java ME vendor. Note that Jakarta EE runs on the standard Java SE JVM but that some vendors specialize in providing a modified JVM optimized for enterprise 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 Java VM reference implementation is the OpenJDK 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
[edit]Active
[edit]- Codename One – uses the open source ParparVM
- 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.
- IKVM – Java for Mono and the Microsoft .NET Framework. Uses OpenJDK. Zlib License.
- 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.
- OpenJ9 – open-source from IBM J9, for AIX, Linux (x86, Power, and Z), macOS, Windows, MVS, OS/400, Pocket PC, z/OS.
- Maxine – meta-circular open source research VM from Oracle Labs and the University of Manchester.
Inactive
[edit]- 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]
- 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.
- 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 JVMDI 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
[edit]Some JVM's are intended to run without an underlying OS.
Proprietary implementations
[edit]Active
[edit]- 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
[edit]- 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.
- 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
[edit]- 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
[edit]References
[edit]- ^ "GCJ - GCC Wiki". gcc.gnu.org.
External links
[edit]List of Java virtual machines
View on Grokipediafrom Grokipedia
The Java virtual machine (JVM) is an abstract computing machine that converts Java bytecode, the intermediate representation of Java programs compiled by the javac compiler, into machine instructions executable by a specific hardware platform, thereby enabling platform-independent execution of Java applications and other languages targeting the JVM. Defined in the Java Virtual Machine Specification maintained by Oracle, the JVM provides key features including automatic memory management via garbage collection, security through bytecode verification, and just-in-time (JIT) compilation for performance optimization. This specification allows for diverse implementations tailored to varying needs, such as high throughput, low latency, or resource-constrained environments, while ensuring compatibility through the Technology Compatibility Kit (TCK).
Notable JVM implementations include the HotSpot JVM, the reference implementation integrated into OpenJDK and Oracle JDK, which employs advanced JIT compilation and garbage collection techniques for general-purpose high-performance computing.[1] Eclipse OpenJ9, originally developed by IBM and now under the Eclipse Foundation, focuses on low memory footprint and fast startup, making it suitable for cloud-native and containerized applications.[2] GraalVM, also from Oracle, extends the JVM with polyglot capabilities for running multiple languages and ahead-of-time native image generation to reduce startup times and resource usage.[3] Commercial variants like Azul Platform Prime (formerly Zing) emphasize predictable low-latency behavior and scalability for mission-critical workloads through custom JIT and memory management optimizations.[4]
These implementations must pass the Java SE TCK to claim compatibility, fostering an ecosystem where developers can choose based on specific requirements like embedded systems, big data processing, or enterprise servers, with ongoing innovations driven by open-source communities and vendors.
