Die ursprünglich von IBM entwickelte und dann an die Eclipse Foundation übergebene Java-VM führt Java-Code besonders schnell aus. Die neue Version optimiert die Arbeit der Garbage Collection und unterstützt das OpenJDK in den Versionen 8, 11 und 16.
Mit diesen JDKs entwickelte Java-Anwendungen sollen in der Regel unverändert mit OpenJ9 laufen. Die kommende Version 0.28.0 soll dann offiziell nur noch das OpenJDK 17 unterstützen.
Neu in OpenJ9 0.27.0 ist die Option „-XX:[+|-]AdaptiveGCThreading“. Mit ihr lässt sich das sogenannte adaptive Threading ein- und ausschalten, das wiederum automatisch die Anzahl der gleichzeitig aktiven Threads der Garbage Collection wählt. Die „balanced“ Policy der Garbage Collection nutzt zudem einen neuen Scan-Modus. Das vorherige Verhalten lässt sich über die Einstellung „-Xgc:breadthFirstScanOrdering“ zurückholen.
Des Weiteren wertet die virtuelle Maschine die Umgebungsvariable „JAVA_OPTIONS“ nicht mehr aus. Auf Linux- und AIX-Systemen verbessert die Global Lock Reservation das Locking und Unlocking von Java Objekten. Zum vorherigen Verhalten lässt sich via „-XX:-GlobalLockReservation“ zurückkehren. Auf Systemen mit PPC64-Architektur steigt die Standardgröße des Stacks auf 512 KByte. Anpassen lässt sich die Stack-Größe bei Bedarf via „-Xmso“.
In Java Dump Files landen jetzt auch das Datum und die Uhrzeit gemäß UTC („1TIDATETIMEUTC“) und die zugehörige Zeitzone („1TITIMEZONE“). Das Tool „jpackcore“ ersetzt endgültig seinen Vorgänger „jextract“ und kennt zudem den neuen Parameter „-x“. Er sorgt dafür, dass „jpackcore“ das eigentliche System Dump vom erstellten Archiv ausschließt. Die Datei „excluded-files.txt“ führt dann alle weggelassenen Dateien auf.
Sämtliche Neuerungen erläutert die entsprechende Seite in der offiziellen Dokumentation.





