So wird JDK 8 aussehen: Zeitplan und Feature-Set

Hartmut Schlosser

Der Fahrplan für die Developer-Releases des JDK 8 steht fest. Langsam zurrt sich Feature-Set und Zeitplan für die Implementierung der Java SE 8 Plattform zusammen, und die Community bekommt jetzt ein recht klares Bild darüber, wie genau die nächste Generation der Java-Plattform aussehen wird.

Zunächst einmal die Release-Daten, die auf der OpenJDK-Seite ausgestellt sind. Der Reigen der Meilenstein-Releases, acht an der Zahl sind es, begann bereits am 26. April 2012, derzeit liegt der M3 vor. Am 31. Januar 2013 sollte das JDK dann Feature-komplett sein. Danach folgen Developer Preview und verschiedene Release-Kandidaten, deren letzter für den 5. Juli 2013 geplant ist. Die Finalversion kommt dann am 9. September 2013:

26.4.2012 M1
14.6.2012 M2
2.8.2012 M3
13.9.2012 M4
29.11.2012 M5
31.1.2013 M6 Feature Complete
21.2.2013 M7 Developer Preview
5.7.2013 M8 Final Release Candidate
9.9.2013 GA General Availability

Die Meilensteine M1 bis M5 sind datumsgetrieben, d.h. Releases werden verfügbar, auch wenn dort nicht alle geplanten Features final vorliegen. Die späteren Meilensteine werden als „zustandsgetrieben“ bezeichnet: Erst wenn das geplante Feature-Set implementiert ist, wird das Release ausgegeben. Bei etwaigen Verzögerungen werden die Daten der folgenden Meilensteine angepasst.

Auf der Feature-Seite dürfte mittlerweile allen klar sein, dass die Plattform-Modularisierung, an der im Projekt Jigsaw gearbeitet wird, nicht Teil des JDK 8 werden wird. Als größte Neuerung gilt deshalb das Projekt „Lambda“, in dessen Rahmen das funktionale Sprach-Konstrukt Closures (genauer: Lambda-Ausdrücke) in Java Einzug halten wird.

Aber auch zahlreiche kleinere Verbesserungen sind in Arbeit, die JDK 8 Feature-Seite gibt den folgenden Überblick:

    –/–

  • Lambda Expressions and Virtual Extension Methods
  • Lambda-Form Representation for Method Handles

    vm/gc

  • Remove the Permanent Generation
  • G1 GC: Reduce need for full GCs

    vm/rt

  • Improve Contended Locking

    core/–

  • Launch JavaFX Applications

    core/lang

  • Generalized Target-Type Inference
  • Annotations on Java Types
  • DocTree API
  • Add Javadoc to javax.tools
  • Remove the Annotation-Processing Tool (apt)
  • Access to Parameter Names at Runtime
  • Repeating Annotations

    core/libs

  • Parallel Array Sorting
  • Bulk Data Operations for Collections
  • Collections Enhancements from Third-Party Libraries
  • Enhance Core Libraries with Lambda
  • Additional Unicode Constructs for Regular Expressions
  • Charset Implementation Improvements
  • javax.lang.model Implementation Backed by Core Reflection
  • Base64 Encoding and Decoding
  • JSR 310: Date and Time API

    core/i18n

  • Improve Locale Data Packaging and Adopt Unicode CLDR Data
  • BCP 47 Locale Matching
  • Unicode 6.1

    core/net

  • New HTTP Client

    core/sec

  • MS-SFU Kerberos 5 Extensions
  • TLS Server Name Indication (SNI) Extension
  • AEAD CipherSuites
  • Stronger Algorithms for Password-Based Encryption
  • Configurable Secure Random-Number Generation
  • Enhance the Certificate Revocation-Checking API
  • NSA Suite B Cryptographic Algorithms
  • SHA-224 Message Digests
  • PKCS#11 Crypto Provider for 64-bit Windows
  • Limited doPrivileged

Genauere Beschreibungen für die einzelnen Punkte gibt es auf http://openjdk.java.net/projects/jdk8/features nachzulesen. Alle der Features sind allerdings noch nicht den einzelnen Meilensteinen zugeordnet – Ressourcen für deren Implementierung sind indes schon genehmigt. Einen Überblick darüber, was genau zu welchem Meilenstein bearbeitet werden soll, gibt die Seite http://openjdk.java.net/projects/jdk8/milestones.

Was denken Sie, wenn Sie sich nun die Eckdaten von JDK 8 anschauen? Ist Java 8 ein Release, dass die Java-Plattform und Community deutlich weiter bringen wird?

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

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