List of Java virtual machines
Encyclopedia
This article provides non-exhaustive lists of Java SE Java virtual machine
s (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 and Linux, primarily with the Sun JVMs. Note the further complication of different 32-bit/64-bit
varieties.
The primary reference Java VM implementation is HotSpot
, produced by Oracle Corporation
.
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
s (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 and Linux, primarily with the Sun JVMs. Note the further complication of different 32-bit/64-bit
64-bit
64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...
varieties.
The primary reference Java VM implementation is HotSpot
HotSpot
HotSpot is a Java virtual machine for desktops and servers, maintained and distributed by Oracle Corporation. It features techniques such as just-in-time compilation and adaptive optimization designed to improve performance.-History:...
, produced by Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...
.
Proprietary implementations
- Azul Zing JVMAzul SystemsAzul Systems, Inc., a privately held company, develops runtime platforms for executing Java-based applications. Founded in March 2002, Azul Systems is headquartered in Sunnyvale, California, with offices in Slough, United Kingdom; Tokyo, Japan and Bangalore, India.- Products :Azul produces Zing, a...
a fully compliant Java Virtual Machine based on HotSpot that uses the Azul C4 (Continuously Concurrent Compacting Collector) garbage collector. Supports memory heaps up to 512 GB without GC pauses and is able to grow and shrink the heap based on load. - CEE-J is a clean room implementation of Sun's Java technology, Skelmir is not a licensee of Sun.
- Excelsior JET (with AOT compiler)
- Hewlett-Packard, Java for HP-UX, OpenVMS, Tru64 and Reliant (Tandem) UNIX platforms
- J9IBM J9J9 is a Java Virtual Machine developed by IBM. The J9 VM is the basis of multiple IBM Java offerings, including WebSphere Micro Edition, as well as the basis of all IBM Java Development kits since version 5...
(IBM), for AIX, Linux, MVS, OS/400, Pocket PC, z/OS - 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.
- Apogee provides embedded Java using IBM J9 and Apache HarmonyApache HarmonyApache Harmony was an open source, free Java implementation, developed by the Apache Software Foundation. It was announced in early May 2005 and on October 25, 2006, the Board of Directors voted to make Apache Harmony a top-level project...
Class Library for X86, ARM, MIPS, PowerPC running on Linux, LynxOS, WinCE. - JBed, (Esmertec) is an embedded Java with multimedia capabilities
- JamaicaVMJamaicaVMThe JamaicaVM is a virtual machine and build environment for developing and running realtime Java programs. It includes a deterministic garbage collector and implements the RTSJ. It is designed for use in realtime and embedded systems.- See also :*Aicas...
, (aicasAicasaicas GmbH is a software corporation headquartered in the Germany with subsidiaries in France and the USA.aicas provides Java technology and analysis tools for realtime and embedded systems...
) is a hard real-time Java VM for embedded systems - JBlend, (Aplix) is a Java ME implementation
- JRockitJRockitJRockit, a proprietary Java Virtual Machine originally developed by Appeal Virtual Machines and acquired by BEA Systems in 2002, became part of Oracle Fusion Middleware in 2008....
(originally from Appeal Virtual MachinesAppeal Virtual MachinesAppeal Virtual Machines was a Swedish company created in 1998 by students from the Royal Institute of Technology in Stockholm. They were mainly known for their JRockit Java Virtual Machine....
) acquired by Oracle for Linux, Windows and Solaris - Mac OS Runtime for JavaMac OS Runtime for JavaMac OS Runtime for Java is Apple's proprietary virtual machine for Java-based applications in "Classic" Mac OS...
(MRJ) - MicroJvm (IS2T - Industrial Smart Software Technology) Wide range of virtual machines dedicated to embedded systems (including hard real-time constrained systems), ARM7, ARM9, AVR, AVR32, PPC, MIPS, ...
- Microsoft Java Virtual MachineMicrosoft Java Virtual MachineThe Microsoft Java Virtual Machine was a proprietary Java Virtual Machine computer program from Microsoft. It was first made available for Internet Explorer version 3 so that users could run Java applets when browsing on the World Wide Web. It was the fastest Windows-based implementation of a Java...
(discontinued in 2001) - OJVM (also known as "JServer") from Oracle CorporationOracle CorporationOracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...
- PERCPERCPERC may stand for:* Policy and Economic Research Council, a Durham, North Carolina-based economic policy think tank* Pan-European Regional Council the European trade union arm of the International Trade Union Confederation...
(AonixAonixIn January 2010, Aonix and Artisan Software Tools agreed to merge, forming a new company to be called Atego.Atego is a software development corporation headquartered in the USA and the United Kingdom with subsidiaries in France, Germany, and the Italy.- Aonix history :Aonix was formed in November...
/Atego) is a real time Java for embedded - SAPJVM (SAPSAP AGSAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...
) is 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 JavaBlackdown JavaBlackdown Java was a Linux port of Sun Microsystems's Java virtual machine, developed by a group of volunteers led by Karl Asha and Juergen Kreileder. It predated Sun's official Linux port, and supported Linux on architectures that the official version did not, including SPARC and PowerPC...
was a licensed port to Linux of the reference SunSoft implementation. It was discontinued in 2007, after OpenJDKOpenJDKOpenJDK is a free and open source implementation of the Java programming language. It is the result of an effort Sun Microsystems began in 2006...
became available. - C virtual machine (CVM, from Sun), supports C
- GemstoneGemstone Database Management SystemGemStone is a proprietary application framework that was first available for Smalltalk as an object database.GemStone Systems was founded in 1982 as Servio Logic, and then became GemStone Systems, Inc in 1995. GemStone developed its first prototype in 1982, and shipped its first product in 1986. ...
- modified for Java EE features (application DBMS) - Golden Code Development (EComStationEComStationeComStation or eCS is a PC operating system based on OS/2, published by Serenity Systems. It includes several additions and accompanying software not present in the IBM version of the system.-Differences between eComStation and OS/2:...
and OS/2OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
port of Java RTE and SDK for Java SE v1.4.1_07) - HP ChaiVM and MicrochaiVM
- Intent (Tao Group)
- Novell, India.
- NSIcom CrE-MENSIcom CrE-MECrE-ME is a Java Virtual Machine for Windows CE Devices. It provides an implementation of the CDC/Personal Profile Java standard, and is especially geared towards Windows Mobile. The product is based on Sun MicroSystems reference implementations as well as NSIcom-proprietary technology termed JSCP...
- PreonVM (Virtenio) A VM for embedded systems and small devices.
Free and open source implementations
- AegisVM
- Apache HarmonyApache HarmonyApache Harmony was an open source, free Java implementation, developed by the Apache Software Foundation. It was announced in early May 2005 and on October 25, 2006, the Board of Directors voted to make Apache Harmony a top-level project...
— supports several architectures and systems. Apache LicenseApache LicenseThe Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....
2.0. - AvianAvian JVMAvian is an open-source, lightweight Java virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications....
— A small, easily embeddable Java VM and classpath using just-in-time compilationJust-in-time compilationIn computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...
. - CACAOCACAOCACAO is a research Java Virtual Machine developed at Vienna University of Technology. It compiles the class binaries while running , resulting in faster execution...
— uses GNU Classpath, supports multiple architectures. GPL. 0.99.4 released March 16, 2009. - DalvikDalvik virtual machineDalvik is the process virtual machine in Google's Android operating system. It is the software that runs the apps on Android phones. Dalvik is thus an integral part of Android, which is typically used on mobile devices such as mobile phones, tablet computers and netbooks. Programs are commonly...
used in Google Android - HotSpotHotSpotHotSpot is a Java virtual machine for desktops and servers, maintained and distributed by Oracle Corporation. It features techniques such as just-in-time compilation and adaptive optimization designed to improve performance.-History:...
, the primary reference Java VM implementation - IcedTeaIcedTeaIcedTea is a build and integration project for OpenJDK launched by Red Hat in June 2007. The initial goal was to make the Java OpenJDK software which Sun Microsystems released as free software in 2007 usable without requiring any other software that is not free software and hence make it possible...
— has the only working free software Java Web browser plugin. GPL+linking exceptionGPL linking exceptionA GPL linking exception modifies the GNU General Public License to create a new, modified license. Such modified licenses enable software projects which provide library code, to be "linked to" the programs that use them, without applying the full terms of the GPL to the using program...
. - IKVM.NETIKVM.NETIKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. IKVM is free software, distributed under a permissive free software licence.IKVM.NET includes the following components:* A Java Virtual Machine implemented in .NET...
— Java for MonoMono (software)Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....
and the Microsoft .NET Framework. Uses OpenJDKOpenJDKOpenJDK is a free and open source implementation of the Java programming language. It is the result of an effort Sun Microsystems began in 2006...
. Zlib LicenseZlib LicenseThe zlib License is a permissive free software license which defines the terms under which the zlib and libpng software libraries can be distributed. It is also used by other free software packages....
. - JamigaJamigaJAmiga is an open-source Java virtual machine for the Amiga platform . It is released as free software under the GNU General Public License ....
— for the AmigaAmigaThe Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
platform. Depends on GNU Classpath. GPL. - JamVMJamVMJamVM is an open source Java Virtual Machine developed to be extremely small compared with other virtual machines while conforming to the Java virtual machine specification version 2 ....
— Developed to be an extremely small virtual machine compared to others. Designed to use GNU Classpath. Supports several architectures. GPL. - JaosJaosJaos is an unmaintained attempt to build an open-source Java virtual machine on top of the Bluebottle System, a kernel using active objects and Oberon programming language. The machine uses the runtime features provided by the Bluebottle System such as garbage collection, memory management and...
— Java on Active Object System. Uses GNU Classpath as a standard library. Unmaintained. - Jato VM
- JCJC virtual machineJC virtual machine is a Java Virtual Machine that converts class files from byte-code into C and compiles them using C compiler GCC. It uses Soot, a Java programming language framework to load, manipulate and optimize byte-code and GNU Classpath as a standard library....
— Converts class files from byte-code into CC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
. Uses SootSoot (computer science)Soot is a language manipulation and optimization framework consisting of intermediate languages for the Java programming language. It has been developed by the Sable Research Group at McGill University known for its SableVM, a Java virtual machine and the AspectBench Compiler, an open research...
and GNU Classpath. GNU Library or LGPL licenses. - Jelatine JVM
- JESSICA (Java-Enabled Single-System-Image Computing Architecture)
- Jikes RVM (Jikes Research Virtual Machine) — Research project. PPCPowerPCPowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
and IA-32IA-32IA-32 , also known as x86-32, i386 or x86, is the CISC instruction-set architecture of Intel's most commercially successful microprocessors, and was first implemented in the Intel 80386 as a 32-bit extension of x86 architecture...
. Supports Apache Harmony and GNU Classpath libraries. Eclipse Public LicenseEclipse Public LicenseThe Eclipse Public License is an open source software license used by the Eclipse Foundation for its software. It replaces the Common Public License and removes certain terms relating to litigations related to patents....
. - JNodeJNodeJNode is a free software project to create a Java platform operating system. The project has taken the unique direction of creating all the software in Java itself, with the exception of some assembly language to boot and load the system...
— operating system. Version 0.2.8 released on January 29, 2009. LGPL. - JOPJava optimized processorJava Optimized Processor is a Java processor, an implementation of Java Virtual Machine in hardware.JOP is free hardware under the GNU General Public License, ....
— Hardware implementation of the JVM. GPL 3. - JuiceJuice (JVM)JUICE is a Java ME experimental Java Virtual Machine written in C according to the Sun Microsystems specifications. The Juice JVM, designed for real-time Java, was specifically developed to run on the NUXI operating system...
— JavaME experimental JVMJava Virtual MachineA Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
developed to run on the NUXI operating system. - JupiterJupiter JVMJupiter JVM is an open-source Java virtual machine, which has been developed as a master thesis with modularity and extensibility in mind. It uses Boehm garbage collector and GNU Classpath. The Jupiter Virtual Machine main aspects of its design can be simplified as:*Memory locality - Objects are...
— Uses Boehm garbage collectorBoehm garbage collectorIn computer science, the Boehm-Demers-Weiser garbage collector, often simply known as Boehm GC, is a conservative garbage collector for C and C++.Boehm GC is free software distributed under a permissive free software licence similar to the X11 license....
and GNU Classpath. GPL. Unmaintained. - JX (operating system)JX (operating system)JX is a microkernel operating system with both the kernel and applications implemented using the Java programming language.- Overview :JX is implemented as an extended Java Virtual Machine , adding support to the Java system for necessary features such as protection domains and hardware access,...
— GPL. Version 0.1.1 released on October 10, 2007. - KaffeKaffeKaffe is a clean room design of a Java Virtual Machine. It comes with a subset of the Java Platform, Standard Edition , Java API, and tools needed to provide a Java runtime environment. Like most other Free Java virtual machines, Kaffe uses GNU Classpath as its class library.Kaffe, first released...
— Uses GNU Classpath. GPL. 1.1.9 released on February 26, 2008. - leJOSLeJOSleJOS is a firmware replacement for Lego Mindstorms programmable bricks. It currently supports the LEGO RCX brick and leJOS NXJ supports the NXT brick. It includes a Java virtual machine, which allows Lego Mindstorms robots to be programmed in the Java programming language. It is often used for...
— Robotics suite, a firmware replacement for Lego MindstormsLego MindstormsThe LEGO Mindstorm series of kits contain software and hardware to create small, customizable and programmable robots. They include a programmable 'Brick' computer that controls the system, a set of modular sensors and motors, and LEGO parts from the Technics line to create the mechanical...
programmable bricks, provides a Java programming environment for the Lego Mindstorms RCX and NXT robots. - MaxineMaxine Virtual MachineThe Maxine Virtual Machine is an open source virtual machine developed by . The emphasis in Maxine's architecture is on modular design and code reuse in the name of flexibility, configurability, and productivity for industrial and academic virtual machine researchers...
— meta-circular open source research VM from Oracle Labs - Mika VMMika VMThe Mika VM is an open source implementation of the Java virtual machine specification, together with class libraries which implement the Connected Device Configuration of Java ME. The Mika VM is based on the Wonka VM, which was developed independently of any other implementation, including Sun...
— intended for use in embedded devices. Cross-platform. BSD-style licence. - miniMV (from UABC-Tij for embedded systems and Wireless Sensor network devices)
- MysaifuMysaifu JVMMysaifu JVM is an open source Java virtual machine for Windows Mobile and Windows CE. As of November 2009, it is the only open source Java SE-compatible JVM still in development for PocketPC devices....
(Windows CEWindows CEMicrosoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...
/Windows MobileWindows MobileWindows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...
) — the only open source Java SE-compatible JVM still in development for PocketPC devices. GPL 2. - NanoVMNanoVMNanoVM is a open-source implementation of the Java virtual machine. The NanoVM was initially developed to run on the Atmel AVR ATmega8 used in the Asuro Robot. It was ported to run on the C't-Bot and the Nibo-robot and can easily be ported to other AVR-based systems.The virtual machine uses almost...
— developed to run on the Atmel AVRAtmel AVRThe AVR is a modified Harvard architecture 8-bit RISC single chip microcontroller which was developed by Atmel in 1996. The AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other...
ATmega8 used in the Asuro Robot, can be ported to other AVR-based systems. - SableVMSableVMSableVM is a clean room implementation of Java bytecode interpreter implementing the Java virtual machine specification, second edition.SableVM was designed to be a robust, extremely portable, efficient, and fully specifications-compliant Java Virtual Machine that would be easy to maintain and to...
— First free software JVM to support JVDMI and JDWPJava Platform Debugger ArchitectureThe Java Platform Debugger Architecture is a collection of APIs to debug Java code.* Java Debugger Interface - defines a high-level Java language interface which developers can easily use to write remote debugger application tools....
. Makes use of GNU Classpath. LGPL. Version 1.13 released on March 30, 2007. - Squawk virtual machineSquawk virtual machineSquawk is a Java micro edition virtual machine for embedded system and small devices. Most virtual machines for the Java platform are written in low level native languages such as C/C++ and assembler; what makes Squawk different is that Squawk's core is mostly written in Java...
— A Java ME VM for embedded systems and small devices. Cross-Platform. GPL. - SuperWabaSuperWabaSuperWaba is a discontinued Java-like virtual machine that targets portable devices. Software developers use application programming interfaces , accessed through associated libraries and small tools , to create applications that can run within the VM on supported platforms.-Architecture:The...
— Java-like virtual machine for portable devices. GPL. Discontinued, succeeded by TotalCross. - TakaTukaTakaTukaTakaTuka is a Java virtual machine mainly focussed on wireless sensor network devices. The VM focussed on supporting small devices with at least 4 KiB of RAM and greater than 48 KiB of flash memory. TakaTuka currently offers CLDC compatible library support.TakaTuka was developed by University of...
— for wireless sensor networkWireless sensor networkA wireless sensor network consists of spatially distributed autonomous sensors to monitor physical or environmental conditions, such as temperature, sound, vibration, pressure, motion or pollutants and to cooperatively pass their data through the network to a main location. The more modern...
devices. GPL. - TinyVMTinyVMTinyVM is a small Java Virtual Machine primarily designed for use embedded systems with low memory. In 2000 the project was forked into LeJOS.-References:* Energy-Efficient Programming Environments for Wireless Sensor Networks * LeJOS technology...
- VM02 a Java-compatible environment for the Apple IIApple IIThe Apple II is an 8-bit home computer, one of the first highly successful mass-produced microcomputer products, designed primarily by Steve Wozniak, manufactured by Apple Computer and introduced in 1977...
series of computers. - VMkit of Low Level Virtual MachineLow Level Virtual MachineThe Low Level Virtual Machine is a compiler infrastructure written in C++ that is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages...
- Wonka VMWonka VMThe Wonka VM is an open source, portable, embedded implementation of the Java virtual machine specification, together with class libraries which implement most of the Connected Device Configuration of Java ME, version 1.0. The VM itself was developed independently of any other implementation,...
— 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 VMMika VMThe Mika VM is an open source implementation of the Java virtual machine specification, together with class libraries which implement the Connected Device Configuration of Java ME. The Mika VM is based on the Wonka VM, which was developed independently of any other implementation, including Sun...
. - Xam