Oracle kündigt weitere Features für Java 9 an

Der Java-Statthalter hat weitere Features des derzeit für 2016 zu erwartenden nächsten große Java-Releases bestätigt. Das große Thema von Java 9 bleibt aber die Modularisierung.

In Pocket speichern vorlesen Druckansicht 58 Kommentare lesen
Oracle kündigt weitere Features für Java 9 an
Lesezeit: 4 Min.
Von
  • Alexander Neumann
Inhaltsverzeichnis

Oracle hat eine Reihe neuer, für Java 9 vorgesehene Features auf der OpenJDK-Website bestätigt. Diese folgen auf einen ersten Schwung an Neuerungen, die im August dieses Jahres bekannt gegeben wurden. Neu hinzugekommen sind sechs weitere JDK Enhancement Proposals (JEPs):

  • JEP 158: "Unified JVM Logging" soll ein einheitliches Logging-System für JVM-Komponenten (Java Virtual Machine) einführen.
  • JEP 165: "Compiler Control" verbessert die Steuerungsmöglichkeiten bei der JIT-Kompilierung mit der HotSpot-JVM.
  • JEP 214: "Remove GC Combinations Deprecated in JDK 8 – hier sollen Wege aufgezeigt werden, wie sich die Garbage-Collection-Kombinationen (DefNew + CMS, ParNew + SerialOld, Incremental CMS) entfernen lassen, die mit dem JDK 8 als "deprecated" markiert wurden.
  • JEP 213: "Milling Project Coin" vereint Änderungen an den im Project Coin zu findenden kleinen Sprach-Features. Project Coin war für Java 7 eingeführt worden. Der neue JEP stellt aber keine Version 2.0 von Coin dar.
  • JEP 219: "Datagram Transport Layer Security (DTLS)" – Unterstützung des TLS-basierenden Verschlüsselungsprotokolls.
  • JEP 224: "HTML5 Javadoc" dient der Entwicklung eines Javadoc-Tools, mit dem sich HTML5 ausgeben lassen soll.

Die im August vorgestellten JEPs umfassten drei neue APIs: erstens die im JEP 102 geschilderten Änderungen an der Process API, durch die die Kontrolle und die Steuerung der Betriebssystemprozesse überarbeitet werden soll. Dann ist ein neuer HTTP/2 und WebSockets unterstützende Client (JEP 110) in Arbeit, der aber derzeit nicht in der Gesamtübersicht gelistet wird, und schließlich werkelt man an einer einfacheren JSON API (JEP 198), die auf dem JSR 353 (Java API for JSON Processing) aufbauen soll.

Drei weitere Features gehen das Thema JVM-Performance an. Der JEP 143 soll für ein besseres Contended Locking für einen einfacheren parallelen Zugriff auf Objekte sorgen, der JEP 197 hingegen 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. Schließlich behandelt der JEP 199 die Weiterentwicklung des "intelligenten" sjavac-Compilers (Smart Java Compiler).

Das eigentlich große Thema von Java 9 ist aber die Modularisierung des Sourcecodes im Rahmen des Project Jigsaw (JEP 201). Hier geht es darum, zukünftig die Java Standard Edition (Java SE) auch auf kleineren, leistungsschwachen Geräten einsetzen zu können, ohne dabei auf eine hinreichende Sicherheit und Performance verzichten zu müssen. Erreicht wird das durch abgespeckte, auf die jeweiligen Möglichkeiten des Zielgeräts angepasste Java-SE-Bundles.

Mark Reinhold, verantwortlicher Architekt für Java, und Jigsaw 2011

(Bild: Markus Eisele)

Die Modularisierung der Java-Plattform ist ein schon seit 2005 unter Java-Entwicklern diskutiertes und durch Vorschläge der Betreiber des Industriestandards OSGi, mit dem sich seit deutlich mehr als zehn Jahren Java-Programme und ihre Dienste über ein Komponentenmodell modularisieren und verwalten lassen, auch ein politisch motiviertes Thema. Zeitweilig gab es sogar mehrere Spezifikationen innerhalb des Java Community Process (JCP) zur Modularisierung. Letztlich haben die Bemühungen im Project Jigsaw ihre Heimat gefunden, doch musste die tatsächliche Umsetzung schon für Java 7 und Java 8 verschoben werden.

Mit Jigsaw will Oracle nicht nur ein Modulsystem für Java-Anwendungen, sondern auch eine modulare Java-Plattform schaffen. Das modulare Java könnte nahezu beliebige Konfigurationen bereitstellen, die sowohl komplette Server als auch schlanke Hardware unterstützen. Neben der puren Größe von Java-Installern würde ein solches Konstrukt auch das modulare Laden notwendiger Bibliotheken ermöglichen und schließlich vermutlich die Laufzeitgeschwindigkeit deutlich erhöhen.

Einen konkreten Erscheinungstermin für Java 9 gibt es derzeit noch nicht. Aber Oracle ist bemüht, zukünftig alle zwei Jahre ein Java-Release auf den Markt zu bringen. Das spräche also für 2016, nachdem Java 8 im Frühjahr dieses Jahr freigegeben wurde. Hält man an allen derzeit geplanten Features fest, müsste Oracle allerdings auch erst mal auf die Finalisierung von HTTP/2 warten.

Siehe dazu auf heise Developer:

(ane)