Jetzt wo Java 8 auf der Zielgeraden ist, und ich mit keinen API-Änderungen mehr rechnen muss, gehen auch die beiden Insel in die Endphase. Die Neuerungen sind ja im Grunde sehr große Bausteine wie Lambda-Ausdrücke und Stream-API und dann duzend verteilte Änderungen.
Nervig für mich als Autor war die Dynamik, die die API noch in der letzten Phase entwickelte; besonders trat das bei der Stream-API auf. Doch komplett fertig sind nun die großen Kapitel über
- Lambda-Ausdrücke (ca. 30 Word-Seiten)
- java.util.function und funktionale Programmierung (ca. 20 Word-Seiten)
- Stream-API (ca. 30 Word-Seiten)
Alle kleineren Sprachänderungen wie Default-Methoden und statische Schnittstellenmethoden sind ebenfalls komplett fertig und verteilt.
Fast alle kleineren API-Änderungen sind ebenfalls eingeflossen und im Grunde sind damit die beiden neuen Bände fertig. Was noch fehlt — und daran arbeite ich gerade als letztes — ist die neue Date-Time-API. Große Freude bereitet mir das nicht … Vielleicht baue ich das später in der nächsten Auflage weiter aus, wenn der andere Datums-Teil (Date, Calender, …) komprimiert wird. Ebenfalls von meiner Lust abhängig wird sein, wie weit ich JFC (Swing, Java 2D) kürze und die GUI-Themen nach JavaFX bringe.
Die Insel Band 2 greift nicht alle Bibliotheken in hundertprozentiger Tiefe auf, da es Bereiche gibt, die schon sehr speziell sind, und dafür fehlt auch der Platz. Vermutlich werden ich zu folgenden (extrem spannenden Themen) nicht mehr als einen Satz bringen:
- Neuer Typ java.util.concurrent.locks.StampedLock
- Neuer Typ java.util.concurrent.CountedCompleter
- Neuer Typ java.util.concurrent.ConcurrentHashMap.KeySetView
- Neuer Typ java.util.concurrent.CompletionStage
- Neuer Typ java.util.concurrent.CompletionException
- Neuer Typ java.util.concurrent.CompletableFuture
- Neuer Typ java.util.concurrent.CompletableFuture.AsynchronousCompletionTask
- Änderungen am ForkJoinPool
Bis auf ein paar weiteren Kleinigkeiten (Implementierung vom eigenen Spliterator, Reflection-Kram, Locale-Update, …) ist sonst die Abdeckung der neuen Themen bei 100%.
Kummer macht mir die Java 8 Unterstützung der Eclipse IDE, da es bisher keine Eclipse-Version mit integriertem Java 8 Compiler gibt, nur über ein Update. Luna soll im Juni fertig sein, das wäre eigentlich zu spät. Bei NetBeans haben wir das Problem natürlich nicht.
Haben meine Leser noch spezielle Wünsche an die nächste Auflage?