This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "List of Java virtual machines" – news ·newspapers ·books ·scholar ·JSTOR(September 2014) (Learn how and when to remove this message) |
This article provides non-exhaustive lists ofJava SEJava virtual machines (JVMs). It does not include everyJava ME vendor. Note thatJakarta 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 onWindows,Solaris,Linux, andFreeBSD, primarily with theOracle JVMs. Note the further complication of different32-bit/64-bit varieties.
The primary Java VM reference implementation is theOpenJDKHotSpot, produced byOracle Corporation and many other big and medium-sized companies (e.g.IBM,Redhat,Microsoft,Azul,SAP).
| Name | Status | Java versions (from … last known) | Short description | Platforms supported | Garbage Collection (GC) | Execution Mode | JIT Compilers | TCK / License Status |
|---|---|---|---|---|---|---|---|---|
| Active / Maintained | ||||||||
| ParparVM (Codename One) | Active | 8 … 8 | Translates Java bytecode to C code; used byCodename One. | iOS, Android, Desktop targets, UWP / native app targets via native toolchain. | Boehm GC (conservative), Simple Mark & Sweep available. | AOT (Transpilation) | C Transpiler | No TCK. (Project sources / Codename One). |
| Substrate(used by GraalVM JDK) | Active | 1.8.0_212 … 25 | Polyglot VM based on HotSpot/OpenJDK; native-image & multi-language Truffle support. | Linux (x86_64, aarch64), macOS, Windows. | G1, Serial, Epsilon (HotSpot GCs). | Mixed / AOT | C1/C2 JIT, Graal JIT (Native Image) | TCK/certification varies by distributor. |
| HotSpot | Active | 1 … 25 | The widely used OpenJDK VM implementation (Oracle / OpenJDK HotSpot). | Cross-platform: Windows, Linux, macOS; primary ISAs: x86-64 and AArch64. | Serial, Parallel, G1, Epsilon (E), Shenandoah, GenZGC, GenShenmore... | Mixed (Interp + JIT) | C1/C2 Compilers (Graal optional) | Yes (Reference VM in OpenJDK). |
| OpenJ9 | Active | 8 … 25[1] | IBM J9-based open-source VM (Eclipse OpenJ9). Optimized for cloud/memory. | Linux (x86_64, ppc64le, s390x, aarch64), Windows, AIX. | Gencon / Generational Concurrent (default), Balanced, Metronome, OptThruput. | Mixed (Interp + JIT + AOT) | OpenJ9 JIT (Optimizing Compiler) | Source-open; binary TCK depends on distributor (e.g., IBM Semeru). |
| IKVM | Active (Community forks) | 1.4 … 8 | Java on .NET / Mono; bytecode-to-.NET and interop. | Runs on the .NET runtime(s). | CLR GC (Relies on the underlying .NET GC). | JIT / AOT | CLR JIT (Code generation by host runtime) | No TCK. |
| Jikes RVM | Active (Research) | 6 … 6 | Jikes Research VM — meta-circular research VM. | IA-32 Linux and PowerPC 64 Linux (historically). | MMTk (Memory Management Toolkit); modular collectors. | JIT Only | Baseline, Optimizing Compilers | No TCK. (EPL). |
| leJOS | Active (Robotics) | 1.5 … 1.6 | Robotics firmware / Java environment for Lego Mindstorms RCX/NXT/EV3. | Runs on LEGO Mindstorms hardware families; embedded firmware. | Compact GC (Mark and Sweep). | Interpreter | N/A | No TCK. |
| Maxine | Active (Research) | 7 u6 … 8 u222[2] | Meta-circular research VM from Oracle Labs / Univ. of Manchester. | x86_64 (Linux/macOS), AArch64 (Linux), experimental RISC-V. | Maxine Heap (Java-written heap & collectors). | Mixed (Interp + JIT) | Research JIT Tiers | No TCK (research project). |
| Inactive / Archived / Maintenance | ||||||||
| Cacao | Inactive / Maintenance | 1.5 … 6 | JIT-based VM; used historically with GNU Classpath/OpenJDK. | Multi-arch historical ports: Linux, macOS, ARM and x86. | Boehm GC (typical/historical). | JIT | Platform JIT | No TCK. |
| Apache Harmony | Inactive (Retired 2011) | 5 … 6 | Clean-room OpenJDK alternative (DRLVM); discontinued. | Targeted cross-platform JVM work (Linux, Windows, macOS ports historically). | Generational GC (Mark-Compact / Copying). | Mixed (Interp + JIT) | DRLVM JIT | No TCK. |
| Kaffe | Inactive | 1.2 … 1.4 | Clean-room JVM implementation (historic). | Portable C-based VM; builds available for many POSIX platforms. | Conservative / Mark-Sweep (Kaffe GC variants). | Mixed (Interp/JIT) | Platform JIT | No TCK. |
| GNU Compiler for Java (GCJ) | Inactive | 1.4 … 1.5 | Ahead-of-time Java compiler in GCC (removed). | Historically targeted many Unix/CPU combos. | Boehm GC (historical ports). | AOT | GCC Backend (Native Code Generator) | No TCK. |
| JamVM | Inactive / Rare updates | 5 … 8 | Small, embeddable JVM often used with GNU Classpath or OpenJDK. | Cross-platform (Linux, BSD, macOS). | Mark and Sweep (compact). | Interpreter / JIT | Optional JIT | No TCK. |
| JOP | Inactive/Academic | 1.1 … 1.1 | Hardware JVM for embedded real-time systems. | Dedicated hardware (JOP processor family / FPGA/ASIC targets). | Hardware-assisted GC (real-time). | Hardware (Execution) | N/A | No TCK. |
| Juice | Inactive | 1.1 … 1.1 | Experimental Java ME JVM (NUXI OS). | Platform: niche embedded target (NUXI/experimental hardware). | Unknown. | Interpreter | N/A | No TCK. |
| Jupiter | Inactive | 1.4 … 1.4 | Research JVM using Boehm GC and GNU Classpath. | Historically Linux/x86 ports documented. | Boehm GC. | Interpreter | N/A | No TCK. |
| Mika VM | Inactive | 1.3 … 1.4 | Embedded JVM (successor to Wonka). | Embedded/IoT targets (platform-specific firmware). | Compact GC. | Interpreter | N/A | No TCK. |
| NanoVM | Inactive | 1 … 1 | Tiny JVM for Atmel AVR (Asuro robot). | Atmel AVR microcontroller (Asuro) hardware. | Simple GC. | Interpreter | N/A | No TCK. |
| SableVM | Inactive | 1.3 … 1.5 | Research-oriented portable interpreter. | Cross-platform Unix-like systems and research hosts. | Copying GC. | Interpreter | N/A | No TCK. |
| Squawk virtual machine | Inactive | 1.1 … 1.1 | Sun's small Java ME VM for embedded devices (Sun SPOT). | Sun SPOT / small embedded device platforms. | Pausing GC (embedded-friendly). | Interpreter | N/A | No TCK. |
| SuperWaba | Inactive | 1.2 … 1.2 | Java-like VM for portable devices; succeeded by TotalCross. | Embedded/mobile device targets historically. | Mark-Sweep. | Interpreter | N/A | No TCK. |
| TakaTuka | Inactive/Archived | 1.1 … 1.1 | JVM for wireless sensor motes (Tuk compact format). | Sensor-mote platforms (TinyOS-like / constrained hardware). | Unknown. | Interpreter | N/A | No TCK. |
| TinyVM | Inactive | 1 … 1 | Small RCX replacement firmware VM. | RCX-like embedded brick hardware targets. | Compact GC. | Interpreter | N/A | No TCK. |
| VMKit | Inactive / Archived | 1.4 … 1.5 | LLVM-based VM substrate (archived). | Cross-platform via LLVM backends (Linux/x86_64 etc.). | MMTk. | JIT | LLVM Backend | No TCK. |
| Wonka VM | Inactive | 1.3 … 1.4 | Embedded Wonka VM (Acunia). | Embedded hardware / specialized boards (historic). | Generational GC. | Interpreter | N/A | No TCK. |
| Java Operating Systems | ||||||||
| JX | OS-level (Research) | N/A | Java operating system (University of Erlangen). | OS-level VM (research platforms). | Precise GC. | Mixed (AOT/JIT) | AOT/JIT | No TCK. |
| JavaOS | OS-level (Legacy) | N/A | Original Java-based OS from Sun Microsystems for network computers (NCs) and embedded devices. | Dedicated network computers (NCs), embedded systems. | Classic GC (Mark and Sweep/Compact). | Mixed (Interpreter/JIT) | Standard Sun JIT | No TCK. |