This article provides non-exhaustive lists of Java SE Java virtual machines (JVMs). It does not include every Java ME vendor. 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. 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 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.
  • 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

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

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

References

  1. "GCJ - GCC Wiki". gcc.gnu.org.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.