Was mit Java 9 zu erwarten ist

Ein modularisiertes Java soll die nächste Sprachversion bringen – das ist schon länger bekannt und die wohl größte Neuerung. Nun sind weitere für Java 9 vorgesehene Features bekannt geworden.

In Pocket speichern vorlesen Druckansicht 204 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Alexander Neumann

Über einen Online-Artikel auf InfoQ von Ben Evans, einem der Organisatoren der London Java User Group, wird ersichtlich, welche neuen Features derzeit für Java 9 vorgesehen sind. Der Nachfolger des aktuellen Java 8 ist für 2016 vorgesehen. Anzumerken ist hierbei allerdings, dass es schon seit geraumer Zeit keiner Version der Programmiersprache gelungen ist, wie zeitlich vorgesehen über die Ziellinie zu gehen. Bei Java 9 mag erschwerend hinzukommen, das ein modulares JDK (Java Developement Kit) geplant ist, was die Java-Community schon seit Jahren beschäftigt, aber aufgrund der Komplexität und unterschiedlicher Meinungen über das Vorgehen immer wieder hintenan gestellt wurde.

Die im InfoQ-Artikel vorgestellten Java Enhancement Proposals (JEPs) sind erst mal überschaubar, es mögen aber durchaus noch weitere hinzukommen. So findet man drei neue APIs: zuerst die im JEP 102 geschilderten Änderungen an der Process API, durch die die Kontrolle und die Steuerung der Betriebssystemprozesse überarbeitet werden soll. Der jetzige Status ist recht eingeschränkt, weswegen Entwickler oft auf nativen Code ausweichen müssen. Dann arbeitet man an einem neuen HTTP/2 und WebSockets unterstützenden Client (JEP 110) und schließlich an einer einfacher zu bedienenden JSON API (JEP 198), die auf dem JSR 353 (Java API for JSON Processing) aufbauen soll.

Drei weitere Features zielen auf die Performance der JVM (Java Virtual Machine). Der JEP 143 kümmert sich um ein besseres Contended Locking für einen einfacheren parallelen Zugriff auf Objekte, der JEP 197 dagegen nimmt sich der Segmentierung des vom JIT-Compiler ausgegebenen Cache an. Letzteres soll zu einem besseren Verhalten des Compilers gerade bei großen Anwendungen führen. Letztlich behandelt der JEP 199 die Weiterentwicklung des "intelligenten" sjavac-Compilers (Smart Java Compiler).

Das Thema der Modularisierung gehen dann die JEPs 200 und 201 an. Diese sind aber nicht mit dem OpenJDK-Projekt Jigsaw gleichzusetzen, das noch die für Java 8 angegangenen Aktivitäten der Entwicklungen zu einem Java-Modul-System unter seinem Dach führte. Vielmehr werden die beiden JEPs als "Hausputzarbeiten angesehen, die den Grundstein für die Modularität durch die Schaffung und Durchsetzung von Modulgrenzen legen, während das JDK selbst gebaut wird". Das sei Evans zufolge ein erster Schritt Richtung vollständiger Modularität, auch wenn das Modulsystem für den Entwickler noch nicht zur Laufzeit erkennbar sei.

Im JEP 200 – The Modular JDK – wird eine modulare Struktur für das JDK festgelegt, in dem es in Module aufgeteilt wird, die sich zur Kompilier-, Build-, Installier- und Laufzeit kombinieren lassen. Im anderen JEP – Modular Source Code – wird an der Neuorganisation des JDK-Sourcecodes in Modulen gearbeitet. Hier geht es darum, das Build-System so zu erweitern, dass sich Module kompilieren und sich die Module zur Build-Zeit voneinander abgrenzen lassen.

Siehe dazu auf heise Developer:

(ane)