Il existe plusieurs VM Java pour différent système d’exploitation (voir la liste si dessous).
Dans ma recherche de binaire JVM exploitable en production, sur des systèmes Windows, Mac, Linux, et pouvant être packager dans un kit d’installation j’ai référencé 3 JVM :
- HotSpot d’Oracle : https://adoptopenjdk.net ou http://openjdk.java.net/groups/hotspot/ (payant)
- Eclipse Open J9 : https://www.eclipse.org/openj9/, le binaire est sur https://adoptopenjdk.net
- Amazon Corretto : https://aws.amazon.com/fr/corretto/
Toutes sont basées sur OpenJDK et supportent les versions 8 et 11 de Java.
Dans cette liste, la version Hotspot d’Oracle à deux URLs de téléchargement adoptopenjdk et java.net. Le binaire qui se trouve chez Oracle (java.net) ne permet plus d’être package dans un kit d’installation et sa mise à jour nécessite un accord commercial avec Oracle (payant).
Il reste donc deux sites web ou trouvera un binaire pour Windows, Linux, Mac :
- https://adoptopenjdk.net : propose les JVM HotSpot et Open J9 en version 8 et 11 pour de multiples systèmes Linux , x86, x64,Windows , Mac ARM, AIX …
- https://aws.amazon.com/fr/corretto/ : fonctionne sur les serveurs Amazone.
Si vous votre cible est Linux, je vous conseille d’étudier l’usage de Grall VM CE qui génère un exécutable (et donc, accélère les lancements)
Si votre cible est un mini-ordinateur (ex Raspberry PI) ou un mini soc (Arduino , ATmega328p) , de regarder du côté de Haiku
Pour plus de détail, regarder la liste si dessous.
Liste des JVM libres
Nom | Sytème d’exploitation | Particularités |
Amazon Corretto |
|
Implémentation Java par Amazone. Utilisé sur ses serveurs AW cloud
Licence : « Amazon Corretto peut être téléchargé et utilisé gratuitement. Il n’y a aucune restriction ou fonctionnalité payante supplémentaire. » Web : https://aws.amazon.com/fr/corretto/ |
Azul Zulu |
|
Libre à télécharger pour utilisation.
A priori libre pour projet OpenSource, sinon payant. Si vous voulez la fournir dans un « objet » c’est payant 😉 Mais c’est une des rares JVM à pouvoir faire du temps réel. Web : https://www.azul.com/downloads/zulu/#mac |
Bck2Brwsr | Navigateur Internet (Moderne et IE 10+) | Convertie le Byte code Java en JavaScript
Web : http://wiki.apidesign.org/wiki/Bck2Brwsr |
CACAO | Étude académique
Utilise GNU classpath Licence : GPL 2 Web : http://www.cacaojvm.org/ |
|
Codename One / ParparVM |
|
JVM fournit par Codename pour le portage d’application Java
https://github.com/codenameone/CodenameOne/tree/master/vm |
DoppioJVM |
|
JVM (Java 8) écrite en JavaScript pour fonctionner sur les navigateurs Internet
web : https://plasma-umass.org/doppio-demo/ |
Eclipse OpenJ9 |
|
Développé par IBM et Apache.
Licence : Apache 2 web : https://www.eclipse.org/openj9/ https://adoptopenjdk.net |
GraalVM CE |
|
VM polyglotte (Java, JavaScript, Scala, Kotlin, Clojure, NodeJS, Ruby, R, Python, ..) qui compile l code et donne un exécutable sous Linux ou MaOS
Web : https://www.graalvm.org/ |
HaikuVM |
|
Rapide
Très peu gourmande en mémoire Acsés directe à la mémoire et au x entrés/sortie (IO) Fonction C/C++ et bibliothèque directement appelable au travers d’annotation @NativeCFunction / @NativeCppFunction Site : https://sourceforge.net/projects/haiku-vm/ |
HotSpot |
|
La version Oracle de la JVM Java.
web : http://openjdk.java.net/groups/hotspot/ |
Jamiga |
|
VM Java pour Amiga.
Licence : GPL Web : https://github.com/jaokim/jamiga-jamvm |
JamVM |
|
JVM désigné pour être compacte
Dernière version date de 30 juillet 2016 supporte Java 6, 7, 8 Utilise le classpath de GNU Licence : GPL Web : http://jamvm.sourceforge.net/ |
Jelatine JVM |
|
JVM de Java 2 Micro Edition
Web : https://sourceforge.net/projects/jelatine/ |
Jikes RVM |
|
JVM désigné pour l’étude et la recherche de VM.
Licence : Eclipse Public License |
JVM.go | JVM Java écrit en go
Web : https://github.com/zxh0/jvm.go |
|
leJOS |
|
JVM Java dédié à Lego MindsStorms
Web : http://www.lejos.org/ |
Maxine |
|
Licence : GPL 2
Web : https://github.com/beehive-lab/Maxine-VM |
Multi-OS Engine | MacOS | Portez vos applications Android ou écrivez des applications Java pour Mac
Web : https://multi-os-engine.org/ |
Redhat | Windows | Port de OpenJDK par RedHat |
RopeVM | JVM de projet de recherche Chinois.
Développer par des Chinois. Web (chinois) : https://github.com/duyanning/ropevm |
|
SAP | Windows
Linux
MacOS |
JDK et JRE développé par SAP
|
Liens utiles (en Anglais) :
Étude sur les différences des JVM: https://en.wikipedia.org/wiki/Comparison_of_Java_virtual_machines
Liste des JVM passés et présente : https://en.wikipedia.org/wiki/List_of_Java_virtual_machines