Java 8 ist erschienen und bietet Lambdas und neue Date/Time API

Nach wiederholten Verzögerungen wurde Java 8 am 18. März 2014 released. In der Öffentlichkeit wird Java 8 hauptsächlich mit der Einführung von Lambda Ausdrücken assoziiert. Da aber da selbst das Projekt “Lambda” mehr als die reine Umsetzung von Lambda-Ausdrücken bietet, möchte ich einen Überblick geben, welche Perlen in Java 8 stecken.

Projekt Lambda (JSR 335), die größte Erweiterungen der Sprache seit Einführung von generischen Datentypen und Annotationen mit Java 5, ermöglicht uns zukünftig folgende Neuerungen:

  • Lambda-Ausdrücke
  • Default Methoden in Interfaces
  • Methoden/Funktions-Referenzen
  • Streams API für Java Collections

Wie bereits vor einiger Zeit geschrieben, bietet Zero Turnaround einen Einstieg in die Nettigkeiten von Projekt Lambda. Auch von Oracle gibt es ein neues Tutorial zu diesem Thema.

Neben Projekt Lambda kann die neue Date/Time API als zweite große Erweiterung von Java 8 gesehen werden. Diese API ist nach der Date und der Calendar API der dritte Versuch, die Abbildung von Datums- und Zeit-Werten in Java in den Griff zu bekommen. Die neue API wurde im Projekt ThreeTen (JSR 310) entwickelt, wobei verschiedene Aspekte eingeflossen sind, die bei der Date/Calendar-API bisher keine Rolle spielten:

  • Dedizierte Typen für Datums- und Zeit-Angaben
  • Immutability (unveränderliche Datums/Zeit-Instanzen)
  • Umsetzung als Fluent API

Auch für dieses Thema bietet Oracle ein Tutorial an.

Neben diesen beiden großen Themen soll noch zwei Erweiterungen für Annotationen Erwähnung finden:

  • Es können jetzt mehrere Instanzen der selben Annotation an derselben Stelle verwendet werden.
  • “type annotations” ermöglichen dass Annotationen an Typ-Definitionen verwendet werden (z.B. Generics oder Variablen).

Zu diesen Änderungen gibt es ebenfalls ein Tutorial von Oracle.

Neben diesen größeren Themenbereichen bringt Java 8 aber noch weitere interessante Neuerungen wie z.B.:

  • JavaScript-Engine Nashorn
  • Der allseits gehasste “PermGen space” wurde entfernt

Wer sich über alle Neuerungen von Java 8 informieren möchte, wird in den Release Notes fündig werden.

Short URL for this post: https://wp.me/p4nxik-202
This entry was posted in Java Basics and tagged , , , , . Bookmark the permalink.

Leave a Reply