Neues LTS-Release: GraalVM 19.3.0 veröffentlicht
Die neue Version der Virtual Machine erlaubt Builds auf Basis von Java 11 und bietet darüber hinaus zahlreiche weitere Verbesserungen.
![GraalVM 19.2.0 bietet API-Verbesserungen für den mehrsprachigen Einsatz](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/7/9/3/4/0/2/jvm-e190128a3afad897.jpeg)
Die auf weitgehende Sprachunabhängigkeit ausgelegte Virtual Machine GraalVM liegt ab sofort in der Version 19.3.0 vor. Das Update ist als LTS-Release (Long-term Support) ausgelegt und verspricht eine längerfristige Versorgung mit Security-Patches sowie Fixes für Stabilität und Performance, bis das nächste LTS-Release fertiggestellt ist. In GraalVM 19.3 sind neben Fehlerbereinigungen und zahlreichen Überarbeitungen einige neue Funktionen eingeflossen. Unter anderen haben die Macher den schon länger erwarteten Support für Java 11 umgesetzt.
Update auf Java 11
Während Entwickler auch weiterhin Builds auf Basis von Java 8 erstellen können, bieten sowohl die Enterprise Edition als auch die freie Community Edition der GraalVM nun Unterstützung für Java 11 (Oracle Java 11.0.5 beziehungsweise OpenJDK 11.0.5). Dank der Kompatibilität der Versionen ist sichergestellt, dass Entwickler den GraalVM-Compiler weiterhin uneingeschränkt als optimierenden JIT-Compiler auf der JVM nutzen können.
Bei der Migration von Java 8 zu 11 sind allerdings einige Änderungen zu berücksichtigen, die sich signifikant auf die Performance auswirken können. Sie betreffen unter anderen compact strings
sowie den standardmäßigen Einsatz des G1 Garbage Collector. Der G1GC arbeitet nebenläufig, um unnötige Pausen zu vermeiden oder zumindest zu verkürzen. Sein Einsatz parallel zur Applikation kann sich aber negativ auf den Gesamtdurchsatz des Codes niederschlagen.
Zugriff auf das Java Platform Module System
Mit dem Wechsel auf Java 11 steht Entwicklern nun aber auch das Java Platform Module System (JPMS) zur Verfügung. Dadurch kann die GraalVM jetzt Modulkapselung nutzen, um den Code des GraalVM-Compilers und der Truffle-API vom Anwendungscode zu isolieren. Entwicklern bietet sich damit die Möglichkeit, modularisierte Anwendungen auszuführen. JPMS lässt sich jedoch nicht in Verbindung mit der Native-Image-Funktion einsetzen, die zwar Java 11 unterstützt, vorläufig aber nur im Early-Adopter-Status.
Zu den weiteren Neuerungen in GraalVM 19.3.0 zählen Verbesserungen beim Tooling sowie erweiterte Unterstützung für Python, Ruby, JavaScript, R und LLVM. Alle Details dazu finden sich in den Release Notes sowie auf den Projektseiten bei GitHub. Einen raschen Überblick verschafft der Blogbeitrag zur Veröffentlichung des LTS-Release.
Siehe hierzu auf heise Developer:
(map)