Comparison of Java virtual machines
Appearance
Version information
Name | Creator | First public release | Latest stable version | Latest release date | Cost, availability | License |
---|---|---|---|---|---|---|
Avian | ReadyTalk | 3 March 2008[1] | 1.2.0[2] | 17 Mar 2015[2] | Free | ISC license[3] |
CACAO | Vienna University of Technology | ? | 1.6.0[4] | 4 September 2012[4] | Free | GPL version 2 or later.[5] |
CEE-J | Skelmir | 1998 | 15.8 | December 2015 | Commercial | Proprietary |
GCJ | GNU | ? | ? | ? | Free | GPL version 2 or later, with the "libgcc exception".[6] |
HotSpot, OpenJDK edition | Sun Microsystems, Oracle | 27 April 1999 | ? | 21 September 2017 | Free | GPL version 2 only. |
HotSpot, Oracle JDK edition | Sun Microsystems, Oracle | 27 April 1999 | ? | September 2017 | Free | Proprietary |
HotSpot, Java SE embedded edition | Sun Microsystems, Oracle | 27 April 1999 | ? | ? | Commercial | Proprietary[7] |
HotSpot, Zero port | Gary Benson[8] | ? | ? | ? | Free | GPL version 2 only. |
IKVM.NET | Jeroen Frijters | 28 June 2004 | 7.0.4335.0 | 5 December 2011 | Free | zlib License[9] |
JAmiga | Peter Werno, Joakim Nordström | 19 May 2005[10] | 0.0.6[11] | 21 May 2010[12] | Free | GPL version 2 or later. |
JamVM | Robert Lougher | 13 March 2003 | 2.0.0 | 30 July 2014 | Free | GPL version 2 or later. |
Jato VM | Pekka Enberg and contributors[13] | ? | 0.3[14] | 4 January 2012[14] | Free | GPL version 2 only.[13] |
JC virtual machine | Archie L. Cobbs | ? | 1.4.7 | 13 November 2005 | Free | LGPL version 2.1 or later |
Jikes RVM | IBM | 14 October 2001 | 3.1.4[15] | 18 February 2016[15] | Free | Eclipse Public License version 1.0[16] |
Kaffe | Transvirtual Technologies | 1996 | 1.1.9 | 22 February 2008 | Free | GPL version 2 or later.[17] |
Mysaifu JVM | ? | 16 April 2005[18] | 0.4.8[18] | 5 March 2010[18] | Free | GPL version 2 only[18] |
SableVM | Sable Research Group | ? | 1.13 | 30 March 2007[19] | Free | LGPL version 2.1 or later. |
VMKit J3 | ? | 20 October 2008 | 0.30 | ? | Free | University of Illinois/NCSA Open Source License[20] |
Zing | Azul Systems | October 2010 | 18.02 (Java 8) | 23 February 2018 | Commercial | Proprietary |
Zulu | Azul Systems | September 2013 | 10 | 22 March 2018 | Free | GNU General Public License Version 2 [21] |
Technical information
JVM | Status | Latest supported Java version | Supported class libraries | Performance | ||||
---|---|---|---|---|---|---|---|---|
GNU Classpath | OpenJDK | Other | Interpretation | AOT | JIT | |||
Avian | ? | No[22] | Yes[22] | Apache Harmony, Dalvik, own internal class library[22] | Yes[23] | Yes[23] | Yes[23] | |
CACAO | 1.6[24] | Yes[4] | Yes[4] | No[25] | No[25] | Yes[25] | ||
Skelmir CEE-J | Commercially available | 1.7[26] | No | No | own internal class library | Yes[26] | Yes[26] | Yes[26] |
GCJ | ? | Yes | No | Yes | Yes | No | ||
HotSpot, OpenJDK edition | Reference implementation. | 1.8 | No | Yes | Yes | No | Yes | |
HotSpot, Oracle JDK edition | Reference implementation. | 1.8 | No | Yes | Yes | No | Yes | |
HotSpot, Java SE embedded edition | ? | No | Yes | Yes | No | Yes | ||
HotSpot, Zero port | Interpreter-only port of OpenJDK using almost no assembly language and designed to be very portable. | 1.7 | No | Yes | Yes | No | No | |
IKVM.NET | ? | ? | ? | Whatever the .NET runtime uses | ||||
JAmiga | 1.4[27] | Yes[28] | No | Yes[29] | No | No | ||
JamVM | 1.8[30] | Yes[31] | Yes[31] | Yes[31] | No | Yes[31] | ||
Jato VM | 1.6[32] | Yes[14] | No[33] | No[33] | No[33] | Yes[14] | ||
JC virtual machine | Translates Java to C and compiles it with a C compiler. | 1.4[34] | Yes[35] | No | Yes[36] | Yes[36] | Yes[36] | |
Jikes RVM | 1.6[37] | Yes[38] | Port[39][40] | Apache Harmony[38] | No[41] | ? | Yes | |
Kaffe | 1.4[42] | Yes[17] | No | Yes[17] | No[17] | Yes[17] | ||
Mysaifu JVM | ? | Yes[43] | No | Yes[44] | No[44] | No[44] | ||
SableVM | Unmaintained | 1.4 | Yes | No | Yes | No | No | |
VMKit J3 | 1.5[45] | Yes[46] | Yes[46] | ? | Yes[47] | Yes[47] | ||
Zing | Commercially available | 1.8 | No | Yes | Yes | No | Yes | |
Zulu | Available free, commercial support optional | 1.8 | No | Yes | Yes | No | Yes |
Supported CPU architectures
JVM | x86 | x86-64 | SPARC | MIPS | Itanium | Power | ARM | Alpha | S390 | zSeries | m68k |
---|---|---|---|---|---|---|---|---|---|---|---|
Avian | Yes[23] | Yes[23] | No[23] | No[23] | No[23] | No[23] | Yes[23] | No[23] | No[23] | No[23] | No[23] |
CACAO | Yes[25] | Yes[25] | Not any more[25] | Yes[25] | No[25] | Yes[25] | Yes[25] | Yes[25] | Yes[25] | No[25] | Not any more[25] |
Skelmir CEE-J | Yes[26] | Yes[26] | No | Yes[26] | No | Yes[26] | Yes[26] | No | No | No | No |
GCJ | Yes[48] | Yes[48] | Yes[48] | Yes[48] | Yes[48] | Yes[48] | Yes[48] | Yes[48] | Yes[48] | No[48] | No[48] |
HotSpot, OpenJDK edition | Yes[49] | Yes[49] | Solaris only[49] | Port[50][51] | No[49] | PowerPC/AIX port[52] | Yes[49] | No[49] | No[49] | No[49] | No[49] |
HotSpot, Oracle JDK edition | Yes[49] | Yes[49] | Solaris only[49] | No[49] | Java 1.6[53] | No[49] | Yes[49] | No[49] | No[49] | No[49] | No[49] |
HotSpot, Java SE embedded edition | Yes[7] | Yes[7] | Yes[7] | ? | ? | Yes[7] | Yes[7] | ? | ? | ? | ? |
HotSpot, Zero port | Yes[54] | Yes[54] | No[54] | Yes[54] | Yes[54] | Yes[54] | Yes[54] | Yes[54] | No[54] | Yes[54] | No[54] |
IKVM.NET | Any architecture with a .NET framework. | ||||||||||
JAmiga | ? | ? | No | No | No | Yes | No | No | No | No | Yes |
JamVM | Yes[31] | Yes[31] | Yes[31] | Yes[31] | No[31] | Yes[31] | Yes[31] | No[31] | No[31] | No[31] | No[31] |
Jato VM | Yes[14] | Under development[55] | No | No | No | Under development[55] | Preliminary ARMv5 support[33] | No | No | No | No |
JC virtual machine | Yes | No | No | No | No | No | No | No | No | No | No |
Jikes RVM | Yes[56] | No[56] | No[56] | No[56] | No[56] | Yes[56] | No[56] | No[56] | No[56] | No[56] | No[56] |
Kaffe | Yes[17] | Yes[17] | Yes[17] | Yes[17] | Yes[17] | Yes[17] | Yes[17] | Yes[17] | Yes[17] | No[17] | Yes[17] |
Mysaifu JVM | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | Yes[57] | No[57] | No[57] | No[57] | No[57] |
SableVM | Yes[58] | Yes | Yes[58] | Yes | Yes[58] | Yes[58] | Yes[58] | Yes[58] | Yes[58] | No[58] | Yes[58] |
VMKit J3 | Yes[47] | Yes[47] | No[47] | No[47] | No[47] | Yes[47] | Yes[47] | No[47] | No[47] | No[47] | No[47] |
Zing | No[59] | Yes[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] |
Zulu | Yes[60] | Yes[60] | No[60] | No[60] | No[60] | No[60] | Yes[60] | No[60] | No[60] | No[60] | No[60] |
Supported operating systems
JVM | Windows | Linux | FreeBSD | NetBSD | OpenBSD | Solaris | OpenSolaris | Darwin | Mac OS X | iOS | BeOS | Haiku | AIX | IRIX | OS/2 | Windows Mobile | AmigaOS | Other |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Avian | Yes[23] | Yes[23] | Yes[23] | No[23] | No[23] | No[23] | No[23] | No[23] | Yes[23] | Yes[23] | No[23] | No[23] | No[23] | No[23] | No[23] | No[23] | No[23] | |
CACAO | Using Cygwin[61] | Yes[61] | Yes[61] | Yes[61] | No[61] | Yes[61] | Yes[61] | Yes[61] | ?[61] | No[61] | No[61] | No[61] | No[61] | Yes[61] | No[61] | No[61] | No[61] | kFreeBSD, ucLinux[61] |
CEE-J | Yes[26] | Yes[26] | ? | ? | ? | ? | ? | ? | Yes[26] | ? | ? | ? | ? | ? | ? | ? | ? | ? |
GCJ | Yes[48] | Yes[48] | Yes[48] | ? | ? | Yes[48] | ? | Yes[48] | Yes[48] | ? | ? | ? | ? | Yes[48] | ? | No[48] | No[48] | DEC OSF 4.0f and 5.1, Hitachi SH-3/4 micro-controller[48] |
HotSpot, OpenJDK edition | Yes[62] (distributed as source code) | Yes | Port[63] | Port[63] | Port[63] | Yes | Yes[64] | ? | Yes[65] | No | No | Port[66] | Port[52] | No | Port[67] | No | No | |
HotSpot, Oracle JDK edition | Yes[49] | Yes[49] | No | No | No | Yes[49] | ? | ? | Yes[49] | No | No | No | No | No | No | No | No | |
HotSpot, Java SE embedded edition | Yes[7] | Yes[7] | No[7] | No[7] | No[7] | Yes[7] | ?[7] | No[7] | No[7] | No[7] | No[7] | No[7] | No[7] | No[7] | No[7] | No[7] | No[7] | |
HotSpot, Zero port | No[54][68] | Yes[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | No[54][68] | |
IKVM.NET | Any operating system with a .NET framework | |||||||||||||||||
JAmiga | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | Yes | |
JamVM | No[31] | Yes[31] | Yes[31] | No[31] | Yes[31] | Yes[31] | Yes[31] | Yes[31] | Yes[31] | On Jailbroken iPhone[31] | No[31] | No[31] | No[31] | No[31] | No[31] | No[31] | No[31] | kFreeBSD |
Jato VM | No[55] | Yes[55] | No[55] | No[55] | No[55] | No[55] | No[55] | Under development[55] | ?[55] | No[55] | No[55] | No[55] | No[55] | No[55] | No[55] | No[55] | No[55] | |
JC virtual machine | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | |
Jikes RVM | No[56] | Yes[56] | No[56] | No[56] | No[56] | No[56] | No[56] | No[56] | Yes[56] | No[56] | No[56] | No[56] | Yes[56] | No[56] | No[56] | No[56] | No[56] | |
Kaffe | Using Cygwin[17] | Yes[17] | Yes[17] | Yes[17] | Yes[17] | Yes[17] | ? | Yes[17] | Yes[17] | No[17] | Yes[17] | No[17] | Yes[17] | Yes[17] | No[17] | No[17] | Yes | HPUX 11.x, BSDI 2.x, Unixware, SCO 3.2v5, NeXTStep 3.x, DG/UX, OpenStep 4.x, QNX 4.x, NCR MP-RAS 3.x, OSKit 0.96 +, GNU Hurd, Cygwin, DragonFly BSD, Interix, Ultrix 4.2, PS2Linux, AUX, MachTen 4.0.3, Fujitsu UXP/DS [17] |
Mysaifu JVM | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | No[57] | Yes[57] | No[57] | |
SableVM | Using Cygwin[58] | Yes[58] | Yes[58] | ? | ? | ? | ? | ? | Yes[58] | ? | ? | ? | ? | ? | ? | ? | ? | |
VMKit J3 | No[47] | Yes[47] | No[47] | No[47] | No[47] | No[47] | No[47] | ?[47] | Yes[47] | No[47] | No[47] | No[47] | No[47] | No[47] | No[47] | No[47] | No[47] | |
Zing | No[59] | Yes[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | No[59] | |
Zulu | Yes[60] | Yes[60] | No[60] | No[60] | No[60] | No[60] | No[60] | No[60] | Yes[60] | No[60] | No[60] | No[60] | No[60] | No[60] | No[60] | No[60] | No[60] |
References
- ^ "All releases of Avian – Freecode". Freecode.com. Retrieved 2012-07-31.
- ^ a b "v1.2.0". GitHub.
- ^ "Avian | License". Oss.readytalk.com. Retrieved 2012-07-31.
- ^ a b c d "cacaojvm.org". cacaojvm.org. Retrieved 2012-12-12.
- ^ "CacaoLicense - CACAO Wiki". C1.complang.tuwien.ac.at. 2010-09-17. Retrieved 2012-07-31.
- ^ "The GCJ FAQ - GNU Project - Free Software Foundation (FSF)". Gcc.gnu.org. Retrieved 2012-07-31.
- ^ a b c d e f g h i j k l m n o p q r s t u v w http://www.oracle.com/technetwork/java/embedded/resources/se-embeddocs/index.html#sysreqs
- ^ "gbenson.net". gbenson.net. Retrieved 2012-07-31.
- ^ "License - ikvm". SourceForge.net. 2012-05-10. Retrieved 2012-07-31.
- ^ "JAmiga - Browse /jamiga/pre-alpha 0.0.5 at Sourceforge.net". Retrieved 2012-08-11.
- ^ "Downloads - jamiga2 - Java for Amiga - Google Project Hosting". Retrieved 2012-08-11.
- ^ "Readme - jamiga2 - Java for Amiga - Google Project Hosting". Retrieved 2012-08-11.
- ^ a b "jato/README at master · penberg/jato · GitHub". 2012-11-29. Retrieved 2012-08-04.
- ^ a b c d e "Jato". Retrieved 2012-08-04.
- ^ a b "Jikes RVM - Browse /jikesrvm at Sourceforge.net". Sourceforge.net. 2016-11-03. Retrieved 2016-11-03.
- ^ "License". Jikes RVM. Retrieved 2012-07-31.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af https://github.com/kaffe/kaffe/blob/9c61a687642bcce614054b6b694cbd6586210965/README
- ^ a b c d "Mysaifu JVM". Archived from the original on 2012-12-19. Retrieved 2012-08-10.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "SableVM - Browse /sablevm/1.13 at". Sourceforge.net. 2007-03-30. Retrieved 2012-07-31.
- ^ "[llvm-project] View of /vmkit/trunk/LICENSE.TXT". Llvm.org. Retrieved 2012-07-31.
- ^ http://www.azulsystems.com/products/zulu
- ^ a b c "Avian | Status". Oss.readytalk.com. Retrieved 2012-07-31.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae "Archived copy". Archived from the original on 2012-06-19. Retrieved 2012-07-07.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help)CS1 maint: archived copy as title (link) - ^ "Faq - Cacao Wiki". C1.complang.tuwien.ac.at. 2012-03-07. Retrieved 2012-07-31.
- ^ a b c d e f g h i j k l m n http://c1.complang.tuwien.ac.at/cacaowiki/CacaoFeatures
- ^ a b c d e f g h i j k l http://www.skelmir.com/products
- ^ "jni.c - jamiga2 - Java for Amiga - Google Project Hosting". Retrieved 2012-08-11.
- ^ "ClasspathDevelopment - jamiga2 - This document describes the work done and needed for the GNU Classpath - Java for Amiga - Google Project Hosting". Retrieved 2012-08-11.
- ^ "interpreter.c - jamiga 2 - Java for Amiga - Google Project Hosting". Retrieved 2012-08-11.
- ^ "JamVM | Release notes for JamVM at SourceForge.net". sourceforge.net. 2014-07-30. Retrieved 2014-10-24.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af http://jamvm.sourceforge.net
- ^ "jato/include/vm/java-version.h at master · penberg/jato · GitHub". Retrieved 2012-08-04.
- ^ a b c d "jato/TODO at master · penberg/jato · GitHub". Retrieved 2012-08-04.
- ^ "SourceForge.net Repository - [jcvm] Contents of /jcvm/libjc/properties.c". Jcvm.cvs.sourceforge.net. 2005-05-15. Retrieved 2012-07-31.
- ^ "JC Virtual Machine: Home". Jcvm.sourceforge.net. Retrieved 2012-07-31.
- ^ a b c "JC Virtual Machine Documentation". Jcvm.sourceforge.net. Retrieved 2012-07-31.
- ^ "SourceForge: jikesrvm/jikesrvm: libraryInterface/GNUClasspath/EPL/src/gnu/classpath/VMSystemProperties.java@6e24f915d0ba". Jikesrvm.hg.sourceforge.net. Retrieved 2012-07-31.
- ^ a b "SourceForge: jikesrvm/jikesrvm: files". Jikesrvm.hg.sourceforge.net. 2012-07-19. Retrieved 2012-07-31.
- ^ "openjdk4jikesrvm - Use Openjdk library as JikesRVM's class library - Google Project Hosting". Code.google.com. Retrieved 2012-07-31.
- ^ http://jira.codehaus.org/browse/RVM-549
- ^ "Feature request for interpreter".
- ^ https://github.com/kaffe/kaffe/blob/master/kaffe/kaffe/version.h
- ^ "SVN - Mysaifu JVM". 2008-11-13. Retrieved 2012-08-10.
- ^ a b c "Diary of Mysaifu JVM". 2010-02-09. Retrieved 2012-08-10.
- ^ http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/SetProperties.inc?view=co
- ^ a b http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad http://vmkit.llvm.org/index.html
- ^ a b c d e f g h i j k l m n o p q r s t u https://gcc.gnu.org/java/status.html
- ^ a b c d e f g h i j k l m n o p q r s t u v w http://www.oracle.com/technetwork/java/javase/config-417990.html
- ^ http://openjdk.java.net/projects/mips-port/
- ^ http://icedtea.classpath.org/wiki/MIPSPort
- ^ a b http://openjdk.java.net/projects/ppc-aix-port
- ^ http://www.oracle.com/technetwork/java/javase/itaniumreleasenotes-140450.html
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab http://icedtea.classpath.org/wiki/ZeroSharkFaq
- ^ a b c d e f g h i j k l m n o p q r s "[ANNOUNCE] Jato 0.3 - Google Groups". 2012-01-04. Retrieved 2012-08-04.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab http://www.jikesrvm.org/SupportedPlatforms/
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab "SVN - Mysaifu JVM". 2009-10-09. Retrieved 2012-08-10.
- ^ a b c d e f g h i j k l m http://sablevm.org/features.html
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab http://www.azulsystems.com/products/zing/specs
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab http://www.azulsystems.com/products/zulu/installing
- ^ a b c d e f g h i j k l m n o p q r http://mips.complang.tuwien.ac.at/hg/cacao/file/532286ef9f3e/configure.ac
- ^ http://hg.openjdk.java.net/jdk8/build/raw-file/tip/README-builds.html#windows
- ^ a b c http://openjdk.java.net/projects/bsd-port
- ^ http://hg.openjdk.java.net/jdk8/build/raw-file/tip/README-builds.html#opensolaris
- ^ http://openjdk.java.net/projects/macosx-port/
- ^ http://openjdk.java.net/projects/haiku-port
- ^ http://www.os2world.com/content/view/21877/1/
- ^ a b c d e f g h i j k l m n o p q http://openjdk.java.net/projects/zero/