Login
Newsletter
Werbung

Mi, 19. Oktober 2016, 14:33

Software::Entwicklung

Java 9 erneut verschoben

Die Freigabe von Java 9 verschiebt sich noch einmal - vom 23. März auf den 27. Juli 2017. Insgesamt wird die neue Version des Java-SDKs damit mindestens zehn Monate später als ursprünglich geplant erscheinen.

Oracle

Ende 2015 wurde der Erscheinungstermin von Java 9 auf den 23. März 2017 festgelegt. Das bedeutete gegenüber den ursprünglichen Plänen eine Verschiebung um ein halbes Jahr. Der Hauptgrund dafür war die Modularisierung der Sprache, Projekt Jigsaw, deren Einzelheiten zum Teil noch weiter diskutiert werden mussten.

Schon im September stellte Mark Reinhold, Chef der Entwicklungsabteilung der Java Standard Edition bei Oracle, fest, dass Jigsaw zwar gute Fortschritte gemacht habe, aber noch mehr Zeit benötige, da es immer noch offene Designfragen und zahlreiche Fehler gebe. Daher hatte Reinhold eine Verlängerung des Zeitplans um weitere vier Monate vorgeschlagen. Da dagegen keine Einwände erhoben wurden, hat er diese nun festgeschrieben. Damit verschiebt sich die Freigabe von Java 9 vom 23. März auf den 27. Juli 2017.

Neu ist im Zeitplan der Meilenstein für die Fertigstellung von Feature-Erweiterungen. Dieser soll am 22. Dezember 2016 ereicht werden. Danach soll die Stabilisierung der Software beginnen, für die dann noch etwa sieben Monate eingeplant sind. Aber auch gegen bisher nicht geplante neue Funktionalität ist laut Reinhold nichts einzuwenden, solange sie kein übermäßiges Risiko für die endgültige Freigabe darstellt.

Sofern der nun offizielle Plan eingehalten werden kann, erschiene damit Java 9 über drei Jahre nach Java 8. Mehr als 85 Neuerungen wurden in Java 9 integriert. Das Logging des Garbage Collectors wurde vereinheitlicht (JEP 271) und die Stringverkettung wurde optimiert (JEP 280). JEP 102 zielt darauf ab, das API zu Systemprozessen zu verbessern.

JEP 110 will einen HTTP 2-Client implementieren, JEP 143 die Geschwindigkeit steigern, indem Sperren im Code der Objekt-Monitore optimiert werden. JEP 197 ist ebenfalls eine Optimierung, die den Code-Cache im Hotspot-Compiler in Segmente aufteilt. Dazu kommen noch weitere Vorschläge für Optimierungen. JEP 198 fügt zu der Laufzeitbibliothek ein schlankes JSON-API hinzu. JEP 199 verbessert den »intelligenten« Compiler sjavac.

JEP 224 will Javadoc auf HTML5-Niveau heben. JEP 227 dagegen fordert die Aktualisierung von Unicode auf die Spezifikation 7.0 (oder jetzt möglicherweise 8.0). Daneben stehen weitere Compiler-Erweiterungen, eine Mikrobenchmark-Suite und eine Portierung auf 64-Bit-ARM-Prozessoren unter Linux auf dem Plan.

Am folgenreichsten aber ist zweifellos JEP 201, in dem der gesamte JDK-Quellcode modularisiert wird. Es ist eine Voraussetzung für JEP 200 »Modulsystem für JDK«, das für Java 9 so bedeutende Projekt Jigsaw, das Java mit einem stark verbesserten nativen Modulsystem ausstatten soll.

Projekt Jigsaw will das JDK selbst modularisieren, so dass es beispielsweise auf kleinen Rechnern zum Einsatz kommen kann, die nur einen Teil des gesamten JDK benötigen. Es soll die Sicherheit und Wartbarkeit der Java SE-Plattform erhöhen, die Anwendungen beschleunigen und auch die Entwicklung von Bibliotheken und Anwendungen erleichtern.

Java besitzt zwar bereits von Beginn an ein Modulsystem, das auf »Packages« beruht, doch das hat sich im Lauf der Jahre als nicht ausreichend erwiesen. So sind alle Packages öffentlich, auch wenn sie nicht extern genutzt werden sollten, und alle Abhängigkeiten sind statisch. Existierende Lösungen, die Abhängigkeiten flexibler oder auch optional machen und das Starten und Stoppen von Modulen zur Laufzeit ermöglichen, beispielsweise OSGi, sind komplex und nicht in das JDK integriert.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung