Comparison of Java virtual machines

Last updated

Contents

Version information

NameCreatorFirst public releaseLatest stable versionLatest release dateCost, availabilityLicense
Eclipse OpenJ9 (formerly IBM J9) IBM 15 Mar 2018 [1] 0.49.0 [2]   OOjs UI icon edit-ltr-progressive.svg 6 February 2025;44 days agoFree Eclipse Public License 2.0
Apache License 2.0
GCJ GNU 6 September 19986.4 (Terminal)4 July 2017Free GPL version 2 or later, with the "libgcc exception" [3]
GraalVM Oracle May 2019Oracle GraalVM for JDK 24 [4]   OOjs UI icon edit-ltr-progressive.svg 18 March 2025;4 days agoFree GPL version 2 only
HotSpot, OpenJDK edition Sun Microsystems, Oracle 27 April 1999jdk-1616 March 2021Free GPL version 2 only
HotSpot, Oracle JDK edition Sun Microsystems, Oracle 27 April 1999jdk 1616 March 2021Free Proprietary
HotSpot, Java SE embedded edition Sun Microsystems, Oracle 27 April 1999 ? ?Commercial Proprietary [5]
HotSpot, Zero portGary Benson [6]  ? ? ?Free GPL version 2 only
IKVM Jeroen Frijters28 June 20048.11.1 [7]   OOjs UI icon edit-ltr-progressive.svg 16 February 2025;34 days agoFree zlib License [8]
JAmiga Peter Werno, Joakim Nordström19 May 2005 [9] 1.26 January 2014Free GPL version 2 or later
JamVM Robert Lougher13 March 20032.0.030 July 2014Free GPL version 2 or later
Jato VM Pekka Enberg and contributors [10]  ?0.3 [11] 4 January 2012 [11] Free GPL version 2 only [10]
JC virtual machine Archie L. Cobbs ?1.4.713 November 2005Free LGPL version 2.1 or later
Jikes RVM IBM 14 October 20013.1.4 [12] 18 February 2016 [12] Free Eclipse Public License version 1.0 [13]
Kaffe Transvirtual Technologies19961.1.922 February 2008Free GPL version 2 or later [14]
Mysaifu JVM  ?16 April 2005 [15] 0.4.8 [15] 5 March 2010 [15] Free GPL version 2 only [15]
SableVM Sable Research Group  ?1.1330 March 2007 [16] Free LGPL version 2.1 or later

Technical information

JVMStatusLatest supported Java versionSupported class librariesPerformance
GNU Classpath OpenJDK OtherInterpretation AOT JIT
GCJ No longer maintained or distributed by GNU as of GCC 7 [17]  ?YesNoYesYesNo
HotSpot, OpenJDK editionReference implementation.1.8NoYesYesNoYes
HotSpot, Oracle JDK editionReference implementation.1.8NoYesYesNoYes
HotSpot, Java SE embedded edition ?NoYesYesNoYes
HotSpot, Zero portInterpreter-only port of OpenJDK using almost no assembly language and designed to be very portable.1.7NoYesYesNoNo
IKVM  ? ? ?Whatever the .NET runtime uses
JAmiga 1.4 [18] Yes [19] NoYes [20] NoNo
JamVM 1.8 [21] Yes [22] Yes [22] Yes [22] NoYes [22]
Jato VM 1.6 [23] Yes [11] No [24] No [24] No [24] Yes [11]
JC virtual machine Translates Java to C and compiles it with a C compiler.1.4 [25] Yes [26] NoYes [27] Yes [27] Yes [27]
Jikes RVM 1.6 [28] Yes [29] Port [30] [31] Apache Harmony [29] No [32]  ?Yes
Kaffe 1.4 [14] Yes [14] NoYes [14] No [14] Yes [14]
Mysaifu JVM  ?Yes [33] NoYes [34] No [34] No [34]
SableVM Unmaintained1.4YesNoYesNoNo

Supported CPU architectures

JVM x86 x86-64 SPARC MIPS Itanium Power ISA ARM Alpha S/390 z/Architecture m68k
GCJ Yes [35] Yes [35] Yes [35] Yes [35] Yes [35] Yes [35] Yes [35] Yes [35] Yes [35] No [35] No [35]
HotSpot, OpenJDK editionYes [36] Yes [36] Solaris only [36] Port [37] [38] No [36] PowerPC/AIX port [39] Yes [36] No [36] No [36] No [36] No [36]
HotSpot, Oracle JDK editionYes [36] Yes [36] Solaris only [36] No [36] Java 1.6 [40] No [36] Yes [36] No [36] No [36] No [36] No [36]
HotSpot, Java SE embedded editionYes [5] Yes [5] Yes [5]  ? ?Yes [5] Yes [5]  ? ? ? ?
HotSpot, Zero portYes [41] Yes [41] No [41] Yes [41] Yes [41] Yes [41] Yes [41] Yes [41] No [41] Yes [41] No [41]
IKVM Any architecture with a .NET framework.
JAmiga  ? ?NoNoNoYesNoNoNoNoYes
JamVM Yes [22] Yes [22] Yes [22] Yes [22] No [22] Yes [22] Yes [22] No [22] No [22] No [22] No [22]
Jato VM Yes [11] Under development [42] NoNoNoUnder development [42] Preliminary ARMv5 support [24] NoNoNoNo
JC virtual machine YesNoNoNoNoNoNoNoNoNoNo
Jikes RVM Yes [43] No [43] No [43] No [43] No [43] Yes [43] No [43] No [43] No [43] No [43] No [43]
Kaffe Yes [14] Yes [14] Yes [14] Yes [14] Yes [14] Yes [14] Yes [14] Yes [14] Yes [14] No [14] Yes [14]
Mysaifu JVM No [44] No [44] No [44] No [44] No [44] No [44] Yes [44] No [44] No [44] No [44] No [44]
SableVM Yes [45] YesYes [45] YesYes [45] Yes [45] Yes [45] Yes [45] Yes [45] No [45] Yes [45]

Supported operating systems

JVM Windows Linux FreeBSD NetBSD OpenBSD Solaris OpenSolaris Darwin macOS iOS BeOS Haiku AIX IRIX OS/2 Windows Mobile AmigaOS Other
GCJ Yes [35] Yes [35] Yes [35]  ? ?Yes [35]  ?Yes [35] Yes [35]  ? ? ? ?Yes [35]  ?No [35] No [35] DEC OSF 4.0f and 5.1, Hitachi SH-3/4 micro-controller [35]
HotSpot, OpenJDK editionYes [46] (distributed as source code)YesPort [47] Port [47] Port [47] YesYes [48]  ?Yes [49] NoNoPort [50] Port [39] NoPort [51] NoNo
HotSpot, Oracle JDK editionYes [36] Yes [36] NoNoNoYes [36]  ? ?Yes [36] NoNoNoNoNoNoNoNo
HotSpot, Java SE embedded editionYes [5] Yes [5] No [5] No [5] No [5] Yes [5]  ? [5] No [5] No [5] No [5] No [5] No [5] No [5] No [5] No [5] No [5] No [5]
HotSpot, Zero portNo [41] [52] Yes [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52] No [41] [52]
IKVM Any operating system with a .NET framework
JAmiga NoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoYes
JamVM No [22] Yes [22] Yes [22] No [22] Yes [22] Yes [22] Yes [22] Yes [22] Yes [22] On Jailbroken iPhone [22] No [22] No [22] No [22] No [22] No [22] No [22] No [22] kFreeBSD
Jato VM No [42] Yes [42] No [42] No [42] No [42] No [42] No [42] Under development [42]  ? [42] No [42] No [42] No [42] No [42] No [42] No [42] No [42] No [42]
JC virtual machine NoYesYesNoNoNoNoNoNoNoNoNoNoNoNoNoNo
Jikes RVM No [43] Yes [43] No [43] No [43] No [43] No [43] No [43] No [43] Yes [43] No [43] No [43] No [43] Yes [43] No [43] No [43] No [43] No [43]
Kaffe Using Cygwin [14] Yes [14] Yes [14] Yes [14] Yes [14] Yes [14]  ?Yes [14] Yes [14] No [14] Yes [14] No [14] Yes [14] Yes [14] No [14] No [14] YesMany others [14]
Mysaifu JVM No [44] No [44] No [44] No [44] No [44] No [44] No [44] No [44] No [44] No [44] No [44] No [44] No [44] No [44] No [44] Yes [44] No [44]
SableVM Using Cygwin [45] Yes [45] Yes [45]  ? ? ? ? ?Yes [45]  ? ? ? ? ? ? ? ?

References

  1. "Release Eclipse OpenJ9 v0.8.0 · eclipse-openj9/openj9". Github. Retrieved 4 June 2023.
  2. "Release 0.49.0". 6 February 2025. Retrieved 25 February 2025.
  3. "The GCJ FAQ - GNU Project - Free Software Foundation (FSF)". Gcc.gnu.org. Retrieved 31 July 2012.
  4. "Oracle GraalVM for JDK 24". 18 March 2025. Retrieved 19 March 2025.
  5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 "Oracle Java SE Embedded Overview". Oracle. 19 April 2018. Retrieved 2 April 2024.
  6. "gbenson.net". gbenson.net. Retrieved 31 July 2012.
  7. "Release 8.11.1". 16 February 2025. Retrieved 22 February 2025.
  8. "LICENSE.md". ikvmnet/ikvm. Retrieved 22 March 2025 via GitHub.
  9. "JAmiga - Browse /jamiga/pre-alpha 0.0.5 at Sourceforge.net" . Retrieved 11 August 2012.
  10. 1 2 "jato/README at master · penberg/jato · GitHub". GitHub . 29 November 2012. Retrieved 4 August 2012.[ permanent dead link ]
  11. 1 2 3 4 5 "Jato". Archived from the original on 11 August 2012. Retrieved 4 August 2012.
  12. 1 2 "Jikes RVM - Browse /jikesrvm at Sourceforge.net". Sourceforge.net. 3 November 2016. Retrieved 3 November 2016.
  13. "License". Jikes RVM. Retrieved 31 July 2012.
  14. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 "kaffe/kaffe". GitHub. 9 November 2021.
  15. 1 2 3 4 "Mysaifu JVM". Archived from the original on 19 December 2012. Retrieved 10 August 2012.
  16. "SableVM - Browse /sablevm/1.13 at". Sourceforge.net. 30 March 2007. Retrieved 31 July 2012.
  17. "GCC 7 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF)". gcc.gnu.org.
  18. "jni.c - jamiga2 - Java for Amiga - Google Project Hosting" . Retrieved 11 August 2012.
  19. "ClasspathDevelopment - jamiga2 - This document describes the work done and needed for the GNU Classpath - Java for Amiga - Google Project Hosting" . Retrieved 11 August 2012.
  20. "interpreter.c - jamiga 2 - Java for Amiga - Google Project Hosting" . Retrieved 11 August 2012.
  21. "JamVM | Release notes for JamVM at SourceForge.net". sourceforge.net. 30 July 2014. Retrieved 24 October 2014.
  22. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 "JamVM -- A compact Java Virtual Machine". jamvm.sourceforge.net.
  23. "jato/include/vm/java-version.h at master · penberg/jato · GitHub". GitHub . Retrieved 4 August 2012.
  24. 1 2 3 4 "jato/TODO at master · penberg/jato · GitHub". GitHub . Retrieved 4 August 2012.
  25. "SourceForge.net Repository - [jcvm] Contents of /jcvm/libjc/properties.c". Jcvm.cvs.sourceforge.net. 15 May 2005. Retrieved 31 July 2012.
  26. "JC Virtual Machine: Home". Jcvm.sourceforge.net. Archived from the original on 15 April 2012. Retrieved 31 July 2012.
  27. 1 2 3 "JC Virtual Machine Documentation". Jcvm.sourceforge.net. Retrieved 31 July 2012.
  28. "SourceForge: jikesrvm/jikesrvm: libraryInterface/GNUClasspath/EPL/src/gnu/classpath/VMSystemProperties.java@6e24f915d0ba". Jikesrvm.hg.sourceforge.net. Retrieved 31 July 2012.
  29. 1 2 "SourceForge: jikesrvm/jikesrvm: files". Jikesrvm.hg.sourceforge.net. 19 July 2012. Retrieved 31 July 2012.
  30. "openjdk4jikesrvm - Use Openjdk library as JikesRVM's class library - Google Project Hosting" . Retrieved 31 July 2012.
  31. "[#RVM-549] Initial support for OpenJDK class library - jira.codehaus.org". Archived from the original on 3 June 2013. Retrieved 22 July 2012.
  32. "Feature request for interpreter". Archived from the original on 4 May 2015. Retrieved 12 November 2012.
  33. "SVN - Mysaifu JVM". 13 November 2008. Retrieved 10 August 2012.
  34. 1 2 3 "Diary of Mysaifu JVM". 9 February 2010. Archived from the original on 12 June 2012. Retrieved 10 August 2012.
  35. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 "GCJ - Status - GNU Project - Free Software Foundation (FSF)". Archived from the original on 17 April 2016. Retrieved 25 July 2016.
  36. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 "Oracle JDK 7 and JRE 7 Certified System Configurations". www.oracle.com.
  37. "OpenJDK: Port: Mips". openjdk.java.net.
  38. "MIPSPort - IcedTea". icedtea.classpath.org. Archived from the original on 1 February 2020. Retrieved 1 February 2020.
  39. 1 2 "OpenJDK: PowerPC/AIX Port Project". openjdk.java.net.
  40. "Java SE 6 Update Release Notes". Oracle. 4 March 2019. Retrieved 2 April 2024.
  41. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 "ZeroSharkFaq - IcedTea". icedtea.classpath.org. Archived from the original on 9 May 2020. Retrieved 1 February 2020.
  42. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 "[ANNOUNCE] Jato 0.3 - Google Groups". 4 January 2012. Retrieved 4 August 2012.
  43. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 "Supported Platforms". www.jikesrvm.org.
  44. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 "SVN - Mysaifu JVM". 9 October 2009. Retrieved 10 August 2012.
  45. 1 2 3 4 5 6 7 8 9 10 11 12 13 "SableVM Project". sablevm.org.
  46. "OpenJDK Build README". Archived from the original on 6 July 2012. Retrieved 24 July 2012.
  47. 1 2 3 "OpenJDK: BSD Port Project". openjdk.java.net.
  48. "OpenJDK Build README". Archived from the original on 6 July 2012. Retrieved 24 July 2012.
  49. "OpenJDK: Mac OS X Port Project". openjdk.java.net.
  50. "OpenJDK: Port: Haiku". openjdk.java.net.
  51. "OS2 World.Com - Java (OpenJDK) 1.6.0 Build 25 GA3". Archived from the original on 26 July 2012. Retrieved 26 July 2012.
  52. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 "OpenJDK: Zero-Assembler Project". openjdk.java.net.