Suche
One AArch64 Port, Not Two & Default CDS Archives

Java 12: JEP 340, JEP 341 & überarbeiteter Fahrplan für das JDK 12 vorgestellt

Dominik Mohilo

© Shutterstock / DAN SCANDAL

Java 11 ist pünktlich im September erschienen. Doch dank der neuen Release-Kadenz steht Java 12 bereits in den Startlöchern. Wir haben uns den aktuellen Stand der JEPs angeschaut, Chief Architect Mark Reinhold liefert hingegen den ersten Entwurf des Fahrplans für JDK 12.

Am 25. September erblickte Java 11 das Licht der Welt. Die neue Version der Programmiersprache ist die zweite, die nach dem neuen Release-Schema veröffentlicht wurde, und brachte die Langzeitunterstützung (LTS, Long-term Support). Durch die neue Kadenz zur Veröffentlichung läuft die Entwicklung von Java 12 allerdings schon auf Hochtouren, am 13. Dezember soll die erste Rampdown-Phase beginnen.

Die voraussichtliche Release Schedule

Mark Reinhold, Chief Architect der Java Platform Group bei Oracle, hatte auf der JDK-Dev Mailing-Liste bereits vor Veröffentlichung von Java 11 die geplanten Termine für Java 12 vorgelegt. Wenig überraschend soll Java 12 im März (genauer: dem 19. März) erscheinen. Wer glaubt, berechtigte Zweifel an den Terminen zu hegen, bzw. arge Probleme aufzeigen kann, die dieser Zeitplan aufweist, konnte diese an entsprechender Stelle in der Mailing-Liste vorbringen, dabei kam ein kleiner Fehler heraus, sodass die Schedule nun wie folgt aussieht:

2018/12/13 Rampdown Phase One
2019/01/17 Rampdown Phase Two
2019/02/07 Release-Candidate Phase
2019/03/19 General Availability

Alten Java-Hasen dürfte bekannt sein, dass in JEP 3 die einzelnen Phasen definiert sind. Im JEP 3 findet jeder, der sich an Java 12 beteiligen will, detaillierte Informationen über die einzelnen Phasen und welche Arbeiten zu diesen Zeitpunkten erledigt werden, bzw. abgeschlossen sein müssen.

Da der einzige Einwand für den Start der ersten Rampdown-Phase am 13. Dezember – gewünscht war der 20. Dezember – im Hinblick auf die dann zu nahen Feiertage abgelehnt wurde, ist der oben abgebildete Zeitplan gemäß des JEP-2.0-Prozess-Proposals offiziell.

Java 12: Die neuen Features

Wie immer ist es schwer, definitive Aussagen zu einer neuen Java-Version zu treffen, da sich alles noch in der Entwicklung befindet. Dennoch gibt es mittlerweile bereits vier JEPs, die wohl mit ziemlicher Sicherheit Teil des JDK 12 sein werden: JEP 325 (Switch Expressions), JEP 326 (Raw String Literals), JEP 340 (One AArch64 Port, Not Two) und JEP 341 (Default CDS Archives).

JEP 325 – Switch Expressions

Mit JEP 325 wird vorgeschlagen, die Switch-Anweisung zu erweitern, sodass sie entweder als Anweisung (Statement) oder als Ausdruck (Expression) genutzt werden kann. Beide Formen sollen dabei in der Lage sein, entweder „traditionelle“ oder „simplifizierte“ Variablen und Kontrollstrukturen zu nutzen. Ziel dieses JEPs ist es, das tägliche Programmieren zu vereinfachen und den Weg für Pattern Matching (JEP 305) in Verbindung mit der Anweisung switch zu ebnen. JEP 325 ist ein sogenanntes Preview Language Feature.

JEP 326 – Raw String Literals

JEP 326 sieht vor, sogenannte Raw String Literals der Programmiersprache hinzuzufügen. Ein solches Raw String Literal kann sich über mehrere Code-Zeilen erstrecken und interpretiert keine Escape-sequenzen wie \n oder Unicode-Escape-Sequenzen wie \uXXXX. Im Gegensatz zu traditionellen String-Literalen, werden die neuen, ergänzenden Raw Literale nicht interpretiert, sondern wie sie sind als String erzeugt. Sie sind sozusagen „roh und unbehandelt“. Damit sollte es Entwicklern zukünftig leichter fallen, Zeichensequenzen in lesbarer Form und frei von Java-Indikatoren ausdrücken zu können. Auch dieses JEP ist ein Preview Language Feature.

JEP 340 – One AArch64 Port, Not Two

Das JEP 340 wurde erstellt, um sämtliche Sourcen zu entfernen, die mit dem arm64-Port zusammenhängen. Im JDK bleiben sollen allerdings der 32-bit ARM-Port und der 64-bit aarch64-Port. Entwickler, so verspricht man sich, brauchen sich dann nicht mehr mit zwei unterschiedlichen 64-bit ARM-Implementierungen herumschlagen. Zusätzlich fällt die Arbeit weg, gleich zwei dieser Ports verwalten und aktuell halten zu müssen.

JEP 341 – Default CDS Archives

Durch sogenanntes Class Data Sharing (CDS) kann die Startzeit von Java-Anwendungen reduziert werden, das gilt insbesondere für kleinere Anwendungen. Zudem hilft es dabei, den Footprint ein wenig zu verringern. Da man, um dieses Feature nutzen zu können, allerdings den befehl java -Xshare:dump ausführen muss, ist die Nutzung noch nicht allzu verbreitet. Durch das JEP 341 soll nun CDS mit der Standard-Klassenliste auch ohne diesen zusätzlichen Schritt automatisch für native 64-bit Builds genutzt werden. Die Unterstützung für 32-bit Builds und Cross-kompilierte Builds könnte in einem späteren Release hinzukommen.

Weitere Informationen zu dem aktuellen Zeitplan für Java 12 gibt es auf der JDK-Dev Mailing-Liste, die aktuellen JEPs finden sich auf der Projektseite für das JDK 12.

Verwandte Themen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: