List of Java virtual machines
Encyclopedia
This article provides non-exhaustive lists of Java SE Java virtual machine
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 JVM
    Azul Systems
    Azul 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
  • J9
    IBM J9
    J9 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 Harmony
    Apache Harmony
    Apache 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
  • JamaicaVM
    JamaicaVM
    The 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...

    , (aicas
    Aicas
    aicas 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
  • JRockit
    JRockit
    JRockit, 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 Machines
    Appeal Virtual Machines
    Appeal 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 Java
    Mac OS Runtime for Java
    Mac 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 Machine
    Microsoft Java Virtual Machine
    The 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 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...

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

     (Aonix
    Aonix
    In 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 (SAP
    SAP AG
    SAP 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 Java
    Blackdown Java
    Blackdown 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 OpenJDK
    OpenJDK
    OpenJDK 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
  • Gemstone
    Gemstone Database Management System
    GemStone 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 (EComStation
    EComStation
    eComStation 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/2
    OS/2
    OS/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-ME
    NSIcom CrE-ME
    CrE-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 Harmony
    Apache Harmony
    Apache 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 License
    Apache License
    The 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.
  • Avian
    Avian JVM
    Avian 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 compilation
    Just-in-time compilation
    In 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...

    .
  • CACAO
    CACAO
    CACAO 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.
  • Dalvik
    Dalvik virtual machine
    Dalvik 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
  • 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:...

    , the primary reference Java VM implementation
  • IcedTea
    IcedTea
    IcedTea 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 exception
    GPL linking exception
    A 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.NET
    IKVM.NET
    IKVM.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 Mono
    Mono (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 OpenJDK
    OpenJDK
    OpenJDK 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 License
    Zlib License
    The 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....

    .
  • Jamiga
    Jamiga
    JAmiga 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 Amiga
    Amiga
    The 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.
  • JamVM
    JamVM
    JamVM 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.
  • Jaos
    Jaos
    Jaos 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
  • JC
    JC virtual machine
    JC 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 C
    C (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 Soot
    Soot (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. PPC
    PowerPC
    PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

     and IA-32
    IA-32
    IA-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 License
    Eclipse Public License
    The 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....

    .
  • JNode
    JNode
    JNode 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.
  • JOP
    Java optimized processor
    Java 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.
  • Juice
    Juice (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 JVM
    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:...

     developed to run on the NUXI operating system.
  • Jupiter
    Jupiter JVM
    Jupiter 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 collector
    Boehm garbage collector
    In 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.
  • Kaffe
    Kaffe
    Kaffe 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.
  • leJOS
    LeJOS
    leJOS 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 Mindstorms
    Lego Mindstorms
    The 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.
  • Maxine
    Maxine Virtual Machine
    The 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 VM
    Mika VM
    The 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)
  • Mysaifu
    Mysaifu JVM
    Mysaifu 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 CE
    Windows CE
    Microsoft 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 Mobile
    Windows Mobile
    Windows 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.
  • NanoVM
    NanoVM
    NanoVM 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 AVR
    Atmel AVR
    The 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.
  • SableVM
    SableVM
    SableVM 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 JDWP
    Java Platform Debugger Architecture
    The 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 machine
    Squawk virtual machine
    Squawk 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.
  • SuperWaba
    SuperWaba
    SuperWaba 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.
  • TakaTuka
    TakaTuka
    TakaTuka 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 network
    Wireless sensor network
    A 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.
  • TinyVM
    TinyVM
    TinyVM 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 II
    Apple II
    The 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 Machine
    Low Level Virtual Machine
    The 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 VM
    Wonka VM
    The 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 VM
    Mika VM
    The 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

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK