Java Core Day auf der JAX 2013

Der Java 8 Release-Termin

Hartmut Schlosser

Sie erinnern sich: Am 18.4. hatte OpenJDK-Chefentwickler Mark Reinhold von den Verzögerungen des JDK8 Release berichtet und als neues Datum das erste Quartal 2014 angegeben. Man hinke insbesondere mit Projekt Lambda etwa drei Monate hinterher. Wolle man also den vorgesehenen Funktionsumfang des JDK8 beibehalten, könne der angepeilte Release-Termin im frühen September 2013 nicht eingehalten werden. Stattdessen sei es die beste Option, das JDK 8 Release nach hinten zu verschieben – etwas mehr als drei Monate, denn es sei keine gute Idee, ein Major Release im Dezember zu veröffentlichen: „So that pushes the GA date well into the first quarter“, lautete Reinholds Aussage.

Wolfgang Weigend von Oracle stellte in seiner JAX-Session „Moving the Java Platform forward – JDK 8 Developer Preview startet“ die Gründe für die Verschiebung nochmals ausführlich dar und wies auf die aktualisierte Roadmap hin, die jetzt auch auf http://openjdk.java.net/projects/jdk8/milestones zu finden ist. Als Datum für das GA (General Availability) Release von JDK 8
findet man dort den 18. März 2014. Oracle hat das „erste Quartal“ also zu seinen Gunsten ausgelegt und das Release-Datum in den hintersten Teil des Quartals gelegt – womit sich die Verschiebung auf 6 ½ Monate beläuft.

Weigend wies in diesem Kontext auf die veränderten Prioritäten bei Oracle hin. Und diese lauten: Sicherheit, Sicherheit, Sicherheit! Angesichts der nicht ausbleiben wollenden Attacken insbesondere auf das Java-Browser Plug-in seien bei Oracle wesentliche Ressourcen in das Sicherheitsteam umstrukturiert worden. Weigend beschrieb die laufenden Sicherheitsbestrebungen, die sich bereits in den jüngsten Updates 7u21 und 6u45 andeuteten, als „Disruptive Change.“ Anstatt immer wieder Pflaster auf Sicherheitslücken zu kleben, sei man entschlossen, zum einen das Security Backlog – sozusagen die Altlasten aus Sun-Zeiten – abzuarbeiten; zum anderen wolle man neue Maßnahmen ergreifen, um die Java-Plattform (wieder) sicher zu machen.

Ein wichtiger Teil davon ist die in 7u21 eingeführte hohe Sicherheitsstufe, die nur die Ausführung von Java Applets und Web Start Applikationen zulässt, die mit einem bekannten Zertifikat signiert sind. Aktuell kann die Sicherheitsstufe über einen Slider von „Medium“ bis „Very High“ eingestellt werden, was die Zertifikatspflicht zu einer Option macht. Weigend deutete an, dass die wirklich große Umstellung beim Update am 15. Oktober kommen könnte, bei dem der Slider wegfallen, die sehr hohe Sicherheitsstufe zum Default avancieren und damit die Zertifizierung tatsächlich obligatorisch werden könnte.

Das JDK 6u45 Update enthält die Fixes aus 7u21 übrigens auch – und das, obwohl der öffentliche Support für Java 6 im März eigentlich schon ausgelaufen war. Es sei allerdings nur fair, die Bugs, die bereits vor einem Jahr gemeldet wurden, jetzt auch noch den Java 6 Usern zur Verfügung zu stellen, kommentierte Weigend. 6u45 ist allerdings definitiv das letzte Java-6-Update, das ohne kommerziellen Oracle-Support zu haben ist. Die Intention dahinter ist es laut Weigend, Java-Anwender zur Migration auf Java 7 zu bewegen.

Weigend buchstabierte in der Folge das Feature-Set für JDK 8 aus:

Lambda-Ausdrücke („hier fehlt nicht mehr allzu viel“), Extension Methods (Mehrfachvererbung , Mechanismus, neue Methoden einem Interface hinzuzufügen), Annotations auf Java Types, Zugriff auf Parameternamen zur Laufzeit, kleinere Anpassungen wie DocTree API, DocLint Tools, Repeating Annotations, etc. Zudem sollen die Core-Bibliotheken poliert werden – insbesondere in Hinblick auf die Veränderungen durch die Lambda-Ausdrücke. Durch die konsequente Nutzung der InvokeDynamic Bytecodekonstruktion, die seit Java 7 mit an Bord ist, verspricht man sich Performance-Verbesserungen. Außerdem wird es das lang ersehnte Date & Time API geben sowie die Möglichkeit, Bulk Data Operations auf Collections anzuwenden.

Neben den Hauptfeatures seien „viele Aufräumarbeiten zu erledigen“, kommentierte Weigend, „jahrelange Hausarbeiten, die liegen geblieben sind.“

Bemerkenswert sind sicherlich auch die neuen JRE-Profile. Da ja nun die Modularisierung des JDK, die im Projekt Jigsaw durchgeführt werden soll, auf Java 9 verschoben wurde, plant man die Einführung von mindestens drei „Compact“ Profilen, die jeweils ein limitiertes Set an Packages beinhalten sollen:

  • 10 MB – Compact 1
  • 17 MB – Compact 2
  • 24 MB – Compact 3
  • 140 MB vollständiges JRE

Diese Profile sind für den Einsatz auf limitierter Hardware gedacht und sollen kumulativ funktionieren, das heißt ein Profil baut auf dem anderen auf.

Nehmen wir nun noch die Inklusion von JavaFX, die neue JavaScript Engine Nashorn und die Verbesserungen der Java Virtual Machine (Small VM, Libjvm.so
„Enhance javac to improve Build Speed“) sieht man, dass JDK 8 eigentlich ein gar nicht mal so kleines Paket sein wird.

Ein Paket also, das am 18. März 2014 kommen soll. Die JAXenter-Leser stimmen dieser Entscheidung zur Verschiebung angesichts der wenig attraktiven Alternativen übrigens zu. Hier das Ergebnis unseres Quickvotes:

Java 8 in Verzug – was soll jetzt passieren?

  • Das Projekt Lamdba auf das nächste Release verschieben und eine Java-8-Version wie geplant Anfang September 2013 vorlegen. (11%)
  • Lambda beibehalten, aber die Zeit für Testen und Feedback kürzen, sodass der ursprüngliche Zeitplan eingehalten werden kann. (7%)
  • Den Zeitplan um ein Jahr oder mehr nach hinten verschieben, sodass in Java 8 sowohl Projekt Lambda als auch Projekt Jigsaw enthalten sein kann. (15%)
  • Den Zeitplan so weit nach hinten verschieben, bis Lambda fertig und sorgfältig getestet vorliegt (Anfang 2014). (64%)
  • Andere Option (3%)
  • Teilnehmer: 229

Und übrigens: Mit der Verschiebung von Java 8 wird sich auch Java 9 um die 6 ½ Monate nach hinten verzögern – denn man wolle schließlich an dem Zwei-Jahres-Rhythmus für Releases festhalten. Das Projekt Jigsaw bekommt so auch noch etwas Zeit, kommentiert Weigend. Java 9 Release im Jahr 2016 – toi, toi, toi!

Die Session „Moving the Java Platform forward – JDK 8 Developer Preview startet“ von Wolfgang Weigend fand im Rahmen des Java Core Days der JAX statt. Weiter auf dem Programm des Thementages stand: Paul Sandoz (Oracle) mit „Project Jigsaw“, Heinz Kabutz (JavaSpecialists.eu)
mit „Phaser and StampedLock Concurrency Synchronizers“, Angelika Langer (Training/Consulting) mit „Lambdas I: Funktionale Programmierung in Java mit Lambdas“, Klaus Kreft mit „Lambdas II: Funktionale Erweiterungen der Java Collections“ und nochmals Paul Sandoz mit „An Exploration of the Lambda Streams API and Implementation in JDK 8.“

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.