OpenJ9 versus HotSpot JVM

OpenJ9 ist eine alternative Implementation der offiziellen Oracle HotSpot JVM engine. OpenJ9 stammt aus IBM’s Java SDK/IBM J9 und reicht zurück zu OTI Technologies Envy Smalltalk.

Während OpenJ9 im Speichermanagement die Nase vorn hat, sind die z.B. von adoptopenjdk (u.a.) angebotenen Versionen von OpenJDK, der freien Implementation des offiziellen Oracle JDK’s (inklusive HotSpot JVM engine), in der Ausnutzung vorhandener CPU-Leistung führend.

Die verschiedenen über SDKMAN! angebotenen JDK-Distributions finden sich unter https://sdkman.io/jdks.

Für Entwickler ist es neben den Vorzügen besserer Ausnutzung der für ein Projekt vorhandenen Hardware aber auch entscheidend, wie das Buildtool (z.B. gradle), ein Framework (z.B. Spring), dessen Versionskontrolle (z.B. Spring Boot) und die zusätzlich eingebundenen, externen Libraries (z.B. Lombok u.a.) inklusive aller Annotationen sich mit der jeweiligen JVM verhalten. Auch hier liegen trotz aller Hilfen durch das Framework und eine moderne IDE wieder genug Stolperfallen versteckt, um stundenlang an einer Zeile Code zu knabbern…