La version 19.3 de la machine virtuelle universelle GraalVM livrée par Oracle supporte Java 11. GraalVM 19.3 est aussi la première version de support à long terme (LTS) de la VM émanant du projet. Cela signifie qu’elle continuera à recevoir des mises à jour de sécurité, de stabilité et de performances jusqu'à la sortie de la prochaine version LTS.
Java 11, ou Java Development Kit 11, est la dernière version LTS de Java. Elle a été publiée en septembre 2018. Avec l’ajout du support du JDK 11 à GraalVM, les développeurs peuvent désormais exécuter des applications nécessitant Java 11. Les utilisateurs peuvent profiter de toutes les améliorations apportées depuis l’OpenJDK 8 jusqu’à l’OpenJDK 11 en utilisant GraalVM comme compilateur de niveau supérieur, d’optimisation et Just-in-Time (JIT) sur la JVM.
Des apps Java mais aussi Groovy et Scala
Lors de la migration du JDK 8 vers le JDK 11, les applications construites avec GraalVM peuvent profiter de fonctionnalités comme les « compact strings », qui améliorent l'efficacité spatiale de la classe String, et du ramasse-miettes G1 par défaut. De plus, GraalVM utilise l'encapsulation de module pour isoler le compilateur GraalVM et le code de l'API Truffle du code de l'application et peut exécuter des applications modulaires.
GraalVM peut exécuter des applications écrites en Java et dans d'autres langages supportant JVM, comme Groovy, Kotlin et Scala, ainsi que JavaScript, Python, Ruby, R, C et C++. GraalVM permet d’exécuter des applications écrites dans plusieurs langages et d’assure leur interopérabilité dans un runtime partagé.
Parmi les autres nouveautés de GraalVM 19.3, on peut citer :
- La technologie GraalVM Native Image : elle permet aux applications scriptées d'être compilées à l'avance dans un code machine binaire. Cette technologie supporte le code Java 11 comme fonction d'adoption précoce.
- Les coordonnées de l'outil Maven ont été changées en Native Image JAR. L'ID de groupe pour les artefacts est désormais org.graalvm.nativeimage. Il remplace com.oracle.substratevm.
- De nouveaux outils améliorent la visibilité.
- Le support de Node.js a été mis à niveau vers la branche Node.js 12.x LTS.
Commentaire