2165208

Programmierung

Zeitplan für Java 9 bestätigt

28.12.2015 | 09:42 Uhr |

Oracle hat in einer offiziellen Mitteilung bestätigt, dass Java 9 am 23. März 2017 und damit ein halbes Jahr später als bisher geplant erscheinen wird. Der Hauptgrund für die Verschiebung ist die Modularisierung der Sprache, die auf breites Interesse innerhalb der Java-Gemeinschaft stößt und deren Einzelheiten zum Teil immer noch intensiv diskutiert werden.

Mit dieser Mitteilung bestätigt Oracle den Zeitplan, den Mark Reinhold, Chef der Entwicklungsabteilung der Java Standard Edition bei Oracle, Anfang Dezember vorgeschlagen hatte . Eigentlich sollte schon am 10. Dezember mit dem Hinzufügen von weiterer Funktionalität zu Java 9 Schluss sein. Zu diesem Termin sollte die Stabilisierung der Software beginnen, für die neun Monate eingeplant waren. Am 22. September 2016 hätte Java 9 demnach fertig sein sollen.

Doch die Modularisierung der Sprache, das Projekt Jigsaw, konnte nicht rechtzeitig abgeschlossen werden. Laut Reinhold wurden zwar viele Teilschritte bereits erledigt, aber es stand noch der Entwurf des »Java Enhancement Proposals« (JEP) 376 aus. Dieses stieß auf breites Interesse und wertvolles Feedback der Java-Gemeinschaft, und Reinhold erwartete, dass die Diskussion noch andauern und weiteres Feedback eintreffen würde.

Auch um den Entwicklern der wichtigen Generierwerkzeuge und Entwicklungsumgebungen mehr Zeit zu geben, ihre Software an Java 9 anzupassen, schlug Reinhold daher vor, die Frist für neue Funktionen auf den 26. Mai 2016 zu verschieben, die offizielle Freigabe auf den 23. März 2017. Das zusätzliche halbe Jahr solle idealerweise genutzt werden, um das Projekt Jigsaw zu komplettieren und die Qualität der anderen neuen Funktionalität zu optimieren. Aber auch gegen bisher nicht geplante neue Funktionalität sei nichts einzuwenden, solange sie kein übermäßiges Risiko für die endgültige Freigabe darstelle.

Sofern der nun offizielle Plan eingehalten werden kann, erschiene damit Java 9 rund drei Jahre nach Java 8 . Das erscheint früh genug, da viele Entwickler noch gar nicht auf Java 8 aktualisiert haben dürften.

Wie Oracle weiter mitteilte, stehen bereits Binärpakete von Java 9 zum Testen bereit. Die Versionsnummerierung soll sich ändern , und zwar soll die erste Veröffentlichung von Java 9 den Versionsnamen »9« tragen. Nachfolgende Veröffentlichungen sollen dem Schema »MAJOR.MINOR.SECURITY« folgen, also »9.0.1« für das erste Sicherheitsupdate ohne weitere Änderungen, oder »9.1.1«, wenn zusätzlich noch andere Änderungen vorgenommen werden. Die letzte Zahl wird dabei bei jedem Sicherheitsupdate erhöht und nicht auf eine kleinere Zahl zurückgesetzt.

Zusätzlich zu den bereits zu erwartenden Neuerungen von Java 9 wurden inzwischen weitere Änderungen vorgeschlagen. Dazu zählen ein vereinheitlichtes Logging des Garbage Collectors ( JEP 271 ), Optimierung der Stringverkettung ( JEP 280 ) und andere.

Die bereits vorgenommenen Neuerungen umfassen die folgenden: 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. [ Quelle: pro-linux.de ]

0 Kommentare zu diesem Artikel
2165208