Comparison of Java virtual machines explained

Version information

NameCreatordata-sort-type="isodate"First public releaseLatest stable versiondata-sort-type="isodate"Latest release dateCost, availabilityLicense
Eclipse OpenJ9 (formerly IBM J9)IBMdata-sort-value="2018-03-15"15 Mar 2018[1] data-sort-value=""Apache License 2.0
Eclipse Public License 2.0
GCJGNUdata-sort-value="1998-09-06"6 September 19986.4 (Terminal)data-sort-value="2017-07-04"4 July 2017GPL version 2 or later, with the "libgcc exception"[2]
GraalVMOracledata-sort-value="2019-05-01"May 2019data-sort-value=""GPL version 2 only
HotSpot, OpenJDK editionSun Microsystems, Oracledata-sort-value="1999-04-27"27 April 1999jdk-16data-sort-value="2021-03-16"16 March 2021GPL version 2 only
HotSpot, Oracle JDK editionSun Microsystems, Oracledata-sort-value="1999-04-27"27 April 1999jdk 16data-sort-value="2021-03-16"16 March 2021
HotSpot, Java SE embedded editionSun Microsystems, Oracledata-sort-value="1999-04-27"27 April 1999
HotSpot, Zero portGary Benson[3] GPL version 2 only
IKVM.NETJeroen Frijtersdata-sort-value="2004-06-28"28 June 20047.0.4335.0 data-sort-value="2011-12-05"5 December 2011zlib License[4]
JAmigaPeter Werno, Joakim Nordströmdata-sort-value="2005-05-19"19 May 2005[5] 1.2data-sort-value="2014-01-06"6 January 2014GPL version 2 or later
JamVMRobert Lougherdata-sort-value="2003-03-13"13 March 20032.0.0data-sort-value="2014-06-30"30 July 2014GPL version 2 or later
Jato VMPekka Enberg and contributors[6] 0.3[7] data-sort-value="2012-01-04"4 January 2012GPL version 2 only
JC virtual machineArchie L. Cobbs1.4.7data-sort-value="2005-11-13"13 November 2005LGPL version 2.1 or later
Jikes RVMIBMdata-sort-value="2001-10-14"14 October 20013.1.4[8] data-sort-value="2016-02-18"18 February 2016Eclipse Public License version 1.0[9]
KaffeTransvirtual Technologiesdata-sort-value="1996-01-0119961.1.9data-sort-value="2008-02-2222 February 2008GPL version 2 or later
Mysaifu JVMdata-sort-value="2005-04-16"16 April 2005[10] 0.4.8data-sort-value="2010-03-05"5 March 2010GPL version 2 only
SableVMSable Research Group1.13data-sort-value="2007-03-3030 March 2007[11] LGPL version 2.1 or later

Technical information

JVMStatusLatest supported Java versionSupported class librariesPerformance
GNU ClasspathOpenJDKOtherInterpretationAOTJIT
GCJNo longer maintained or distributed by GNU as of GCC 7[12]
HotSpot, OpenJDK editionReference implementation. 1.8
HotSpot, Oracle JDK editionReference implementation. 1.8
HotSpot, Java SE embedded edition
HotSpot, Zero portInterpreter-only port of OpenJDK using almost no assembly language and designed to be very portable. 1.7
IKVM.NETWhatever the .NET runtime uses
JAmiga 1.4[13] [14] [15]
JamVM 1.8[16]
Jato VM 1.6[17] [18]
JC virtual machineTranslates Java to C and compiles it with a C compiler. 1.4[19] [20] [21]
Jikes RVM 1.6[22] [23] [24] [25] Apache Harmony [26]
Kaffe 1.4[27]
Mysaifu JVM [28] [29]
SableVMUnmaintained 1.4

Supported CPU architectures

JVMx86x86-64SPARCMIPSItaniumPower ISAARMAlphaS/390z/Architecturem68k
GCJ[30]
HotSpot, OpenJDK edition[31] [32] [33]
HotSpot, Oracle JDK edition[34]
HotSpot, Java SE embedded edition[35]
HotSpot, Zero port[36]
IKVM.NETAny architecture with a .NET framework.
JAmiga
JamVM[37]
Jato VM[38]
JC virtual machine
Jikes RVM[39]
Kaffe
Mysaifu JVM[40]
SableVM[41]

Supported operating systems

JVMWindowsLinuxFreeBSDNetBSDOpenBSDSolarisOpenSolarisDarwinmacOSiOSBeOSHaikuAIXIRIXOS/2Windows MobileAmigaOSOther
GCJ DEC OSF 4.0f and 5.1, Hitachi SH-3/4 micro-controller
HotSpot, OpenJDK edition [42] (distributed as source code) [43] [44] [45] [46] [47]
HotSpot, Oracle JDK edition
HotSpot, Java SE embedded edition
HotSpot, Zero port [48]
IKVM.NETAny operating system with a .NET framework
JAmiga
JamVMkFreeBSD
Jato VM
JC virtual machine
Jikes RVM
KaffeMany others
Mysaifu JVM
SableVM

Notes and References

  1. Web site: Release Eclipse OpenJ9 v0.8.0 · eclipse-openj9/openj9 . 2023-06-04 . Github . en.
  2. Web site: The GCJ FAQ - GNU Project - Free Software Foundation (FSF) . Gcc.gnu.org . 2012-07-31.
  3. Web site: gbenson.net . gbenson.net . 2012-07-31.
  4. Web site: License - ikvm . SourceForge.net . 2012-05-10 . 2012-07-31.
  5. Web site: JAmiga - Browse /jamiga/pre-alpha 0.0.5 at Sourceforge.net. 2012-08-11.
  6. Web site: jato/README at master · penberg/jato · GitHub. GitHub. 2012-11-29. 2012-08-04.
  7. Web site: Jato. 2012-08-04. https://web.archive.org/web/20120811040827/http://www.jatovm.org/. 2012-08-11. dead.
  8. Web site: Jikes RVM - Browse /jikesrvm at Sourceforge.net . Sourceforge.net . 2016-11-03 . 2016-11-03.
  9. Web site: License . Jikes RVM . 2012-07-31.
  10. Web site: Mysaifu JVM. 2012-08-10. dead. https://archive.today/20121219080700/http://www2s.biglobe.ne.jp/~dat/java/project/jvm/index_en.html. 2012-12-19.
  11. Web site: SableVM - Browse /sablevm/1.13 at . Sourceforge.net . 2007-03-30 . 2012-07-31.
  12. Web site: GCC 7 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF). gcc.gnu.org.
  13. Web site: jni.c - jamiga2 - Java for Amiga - Google Project Hosting. 2012-08-11.
  14. Web site: ClasspathDevelopment - jamiga2 - This document describes the work done and needed for the GNU Classpath - Java for Amiga - Google Project Hosting. 2012-08-11.
  15. Web site: interpreter.c - jamiga 2 - Java for Amiga - Google Project Hosting. 2012-08-11.
  16. Web site: JamVM | Release notes for JamVM at SourceForge.net . sourceforge.net . 2014-07-30 . 2014-10-24.
  17. Web site: jato/include/vm/java-version.h at master · penberg/jato · GitHub. 2012-08-04. GitHub.
  18. Web site: jato/TODO at master · penberg/jato · GitHub. 2012-08-04. GitHub.
  19. Web site: SourceForge.net Repository - [jcvm] Contents of /jcvm/libjc/properties.c |publisher=Jcvm.cvs.sourceforge.net |date=2005-05-15 |accessdate=2012-07-31].
  20. Web site: JC Virtual Machine: Home . Jcvm.sourceforge.net . 2012-07-31 . https://web.archive.org/web/20120415043707/http://jcvm.sourceforge.net/ . 2012-04-15 . dead .
  21. Web site: JC Virtual Machine Documentation . Jcvm.sourceforge.net . 2012-07-31.
  22. Web site: SourceForge: jikesrvm/jikesrvm: libraryInterface/GNUClasspath/EPL/src/gnu/classpath/VMSystemProperties.java@6e24f915d0ba . Jikesrvm.hg.sourceforge.net . 2012-07-31.
  23. Web site: SourceForge: jikesrvm/jikesrvm: files . Jikesrvm.hg.sourceforge.net . 2012-07-19 . 2012-07-31.
  24. Web site: openjdk4jikesrvm - Use Openjdk library as JikesRVM's class library - Google Project Hosting . 2012-07-31.
  25. Web site: [#RVM-549] Initial support for OpenJDK class library - jira.codehaus.org . 2012-07-22 . https://web.archive.org/web/20130603034438/http://jira.codehaus.org/browse/RVM-549 . 2013-06-03 . dead .
  26. Web site: Feature request for interpreter. 2012-11-12. https://web.archive.org/web/20150504113631/http://jira.codehaus.org/browse/RVM-240. 2015-05-04. dead.
  27. Web site: kaffe/kaffe. GitHub. 9 November 2021.
  28. Web site: SVN - Mysaifu JVM. 2008-11-13. 2012-08-10.
  29. Web site: Diary of Mysaifu JVM. 2010-02-09. 2012-08-10. 2012-06-12. https://web.archive.org/web/20120612065305/http://www2s.biglobe.ne.jp/~dat/java/project/jvm/diary_en.html#20100209. dead.
  30. Web site: GCJ - Status - GNU Project - Free Software Foundation (FSF) . 2016-07-25 . https://web.archive.org/web/20160417193529/http://gcc.gnu.org/java/status.html . 2016-04-17 . dead .
  31. Web site: Oracle JDK 7 and JRE 7 Certified System Configurations. www.oracle.com.
  32. Web site: OpenJDK: Port: Mips. openjdk.java.net.
  33. Web site: MIPSPort - IcedTea. icedtea.classpath.org. 2020-02-01. 2020-02-01. https://web.archive.org/web/20200201142157/https://icedtea.classpath.org/wiki/MIPSPort. dead.
  34. Web site: Java SE 6 Update Release Notes . Oracle . 4 March 2019 . 2 April 2024.
  35. Web site: Oracle Java SE Embedded Overview . Oracle . 19 April 2018 . 2 April 2024.
  36. Web site: ZeroSharkFaq - IcedTea. icedtea.classpath.org. 2020-02-01. 2020-05-09. https://web.archive.org/web/20200509095954/https://icedtea.classpath.org/wiki/ZeroSharkFaq. dead.
  37. Web site: JamVM -- A compact Java Virtual Machine. jamvm.sourceforge.net.
  38. Web site: [ANNOUNCE] Jato 0.3 - Google Groups]. 2012-01-04. 2012-08-04.
  39. Web site: Supported Platforms. www.jikesrvm.org.
  40. Web site: SVN - Mysaifu JVM. 2009-10-09. 2012-08-10.
  41. Web site: SableVM Project. sablevm.org.
  42. Web site: OpenJDK Build README . 2012-07-24 . https://web.archive.org/web/20120706123226/http://hg.openjdk.java.net/jdk8/build/raw-file/tip/README-builds.html#windows . 2012-07-06 . dead .
  43. Web site: OpenJDK: BSD Port Project. openjdk.java.net.
  44. Web site: OpenJDK Build README . 2012-07-24 . https://web.archive.org/web/20120706123226/http://hg.openjdk.java.net/jdk8/build/raw-file/tip/README-builds.html#opensolaris . 2012-07-06 . dead .
  45. Web site: OpenJDK: Mac OS X Port Project. openjdk.java.net.
  46. Web site: OpenJDK: Port: Haiku. openjdk.java.net.
  47. Web site: OS2 World.Com - Java (OpenJDK) 1.6.0 Build 25 GA3 . 2012-07-26 . 2012-07-26 . https://web.archive.org/web/20120726033110/http://www.os2world.com/content/view/21877/1/ . dead .
  48. Web site: OpenJDK: Zero-Assembler Project. openjdk.java.net.