Virtuelle Maschine: Oracle übergibt GraalVM Community Edition an OpenJDK

Der Java-Part der GraalVM CE landet künftig bei der OpenJDK-Community, und die frisch veröffentlichte Version 22.3 bringt einen Build für JDK 19 mit.

In Pocket speichern vorlesen Druckansicht 18 Kommentare lesen

(Bild: Shutterstock)

Lesezeit: 4 Min.
Inhaltsverzeichnis

Oracle hat angekündigt, wesentliche Teile der GraalVM Community Edition an die OpenJDK-Community zu übergeben, die sie künftig in derselben Weise weiterentwickeln wird wie das JDK (Java Development Kit). Parallel ist GraalVM turnusmäßig in Version 22.3 erschienen, die die neuen Features von Java 18 und 19 integriert.

Die GraalVM hat vor drei Jahren mit Version 19 die Reife für den produktiven Einsatz erreicht. Oracle bietet sowohl eine Enterprise-Variante mit kommerzieller Lizenz als auch die kostenfreie Community Edition (CE) an. Letztere steht unter der GNU General Public License V2 with the Classpath Exception, auf die auch OpenJDK setzt.

Zumindest zum Start soll nur der Java-Code mit "den am besten geeigneten Teilen" des JIT-Compilers (Just-in Time) und von Native Image bei OpenJDK landen. Die Parts, die für das Verarbeiten anderer Programmiersprachen gedacht sind, behält Oracle zunächst unter seinen Fittichen. Die GraalVM kann neben Java unter anderem Python, Ruby, JavaScript und R verarbeiten.

Oracle will die GraalVM-Techniken übergeben, die sich derzeit in Entwicklung befinden. Frühere Versionen inklusive des frisch veröffentlichten GraalVM 22.3 bleiben im zugehörigen GitHub-Repository. Noch steht wohl nicht fest, ob GraalVM bei OpenJDK als zentrales Projekt oder in mehrere Unterprojekte aufgeteilt landen wird.

Die Weiterentwicklung der GraalVM soll auf dieselbe Weise erfolgen wie die des JDK, also auf die Zusammenarbeit von Beitragenden (Committer) und Gutachtern (Reviewer) setzen. Für Änderungen wird es JEPs (Java Enhancement Proposals) geben.

Auch die Release-Zyklen passen sich dem JDK an: Künftig wird es halbjährliche Feature-Releases und alle zwei Jahre eine Variante mit Long-term Support (LTS) geben. Kritische Patch-Updates erscheinen im Dreimonatstakt. Die Änderungen betreffen laut der Ankündigung zur Übergabe an OpenJDK nur die Community und nicht die Enterprise Edition.

Passend zur Ankündigung der Übergabe an OpenJDK ist im derzeit noch turnusmäßigen Dreimonatstakt GraalVM 22.3 erschienen. Die wesentliche Neuerung sind Builds für Java 19 neben denen für Java 17 und Java 11. Letztere sollen im nächsten Jahr mit GraalVM 23.0 verschwinden.

Mit dem neuen JDK-19-Build, der derzeit noch als experimentell gekennzeichnet ist und in Version 23.0 stabil werden soll, halten auch die Features von Java 18 und 19 Einzug. Bei dem im September veröffentlichten Java 19 sind allen voran die virtuellen Threads aus Project Loom nennenswert, die nicht auf Plattform-Threads setzen, sondern bei denen die Runtime die Threads verwaltet.

Im GitHub-Repository von GraalVM findet sich mit "Game of Life" ein Demoprojekt, das eine nebenläufige Anwendung als natives Image umsetzt. Es setzt auf Project Loom und benötigt den JDK-19-Build, der sich mit --enable-preview aktivieren lässt.

GraalVM 22.3 kann den Simple Webserver aus Java 18 als native Anwendung bauen.

(Bild: Oracle)

Daneben kann der JDK-19-Build den in Java 18 eingeführten Simple Webserver als native Anwendung kompilieren. Bei jwebserver handelt es sich um einen minimalistischen HTTP-Server, der vor allem für das Prototyping und Testen ausgelegt ist. Interessierte können mit folgendem Befehl das natives Image erstellen:

$JAVA_HOME/bin/native-image -m jdk.httpserver -o jwebserver

Erwähnenswert ist noch eine Namensänderung: GraalPython heißt künftig GraalPy, um namentlich besser in das Ökosystem der Programmiersprache zu passen. Auf technischer Seite bringt die Python-Umsetzung eine Anbindung an das – ursprünglich als Aprilscherz gestartete – Python-Microframework Flask.

Die GraalVM LLVM Runtime for Community Edition ist nun auch für Windows verfügbar. Damit lassen sich GraalPy und Module zu anderen Programmiersprachen, bei denen die virtuelle Maschine auf Kompilieren mit der Compilerinfrastruktur LLVM setzt, unter Windows verwenden.

Weitere Details zu GraalVM 22.3 finden sich in der Ankündigung. Der Sourcecode zum aktuellen Release ist noch nicht bei OpenJDK verfügbar, sondern steht im GitHub-Repository. GraalVM lässt sich neuerdings direkt von der Kommandozeile herunterladen:

bash <(curl -sL https://get.graalvm.org/jdk)

Außerdem sind die Binaries im GitHub-Repository zu finden.

(rme)