JAXenter.de

Das Portal für Java, Architektur, Cloud & Agile
X

Wieviel Cyborg steckt jetzt schon im Menschen? Die webinale VISIONS klärt auf.

10 versteckte Java-8-Features, die Sie kennen sollten

Java 8 Features Lambda StampedLock Default Methoden

Knapp fünf Monate ist es her, dass Java 8 final erschienen ist. Wer sich durch unsere Online-Serie „Java 8 – The Big Update“ zum Thema gearbeitet hat, dürfte sicherlich schon einen fundierten Überblick über die neuen Features der Programmiersprache haben. Aber vielleicht gibt es noch ein paar kleine, versteckte Neuerungen, die vor lauter „Lambdafizierung“ zu wenig Aufmerksamkeit erlangt haben? Tal Weiss vom Takipi-Team hat sich die Mühe gemacht, zehn versteckte Features herauszusuchen und vorzustellen.

Java 8 Default-Methoden

Gleich das erste „versteckte Feature“ ist zumindest den Lesern des Java Magazins nicht neu, Angelika Langer und Klaus Kreft haben es in ihrem Leitartikel im Java Magazin 4.14 bereits vorgestellt. Interfaces dürfen ab Java 8 auch nicht abstrakte Methoden haben. Bislang waren alle Methoden, die in einem Interface definiert wurden, abstrakt, d. h. das Interface konnte keine Implementierung für seine Methoden liefern. In Java 8 gibt es nun die Möglichkeit, in einem Interface Default-Methoden zu definieren. Sie wurden erfunden, um das Collections Framework des JDK zu überarbeiten.

Prozessterminierung

Die Prozess-Klasse in Java 8 verfügt über zwei neue Methoden, die bei der Kontrolle der Prozesse helfen sollen: isAlive() und destroyForcibly().

StampedLocks

Dieses Feature ist zumindest den Lesern des Java Magazins nicht unbekannt, Heinz Kabutz und Sven Ruppert hatten es bereits in der Ausgabe 4.2014 ausführlich vorgestellt. Hier geht es ebenso wie im folgenden Feature um Nebenkäufigkeit. Die Motivation hinter der Klasse StampedLock ist es, die Locks nach lesenden und schreibenden Zugriffen zu trennen. Damit kann man Teile der Anwendung entkoppeln.

Concurrent Adders

Wer sich mit Multithreading beschäftigt, sollte einen Blick auf dieses neue API werfen. Es ermöglicht das Lesen und Schreiben von mehreren Threads aus, schneller als mit dem Einsatz von AtomicIntegers.

Optional Values

Java 8 führt ein neues Template namens Optional ein, die Idee stammt ursprünglich von Sprachen wie Scala oder Haskell. Optional soll den verhassten Null Pointer Exceptions den Gar aus machen.

Annotations überall

Seit Java 8 lassen sich Annotations an nahezu alles im Code anhängen, die Beschränkungen sind aufgehoben. Es soll die Sprache gegenüber statischen Analyse-Tools und Instrumentation-Tools wie FindBugs öffnen.

Overflow Operations

Ein neues Set an Methoden soll das Leben des Entwicklers erleichtern und hätte –wenn es nach Weiss ginge – von Beginn an Teil der Sprache sein sollen. Hier geht es, wie der Name schon sagt, um Overflow.

Directory Walking

Die Files-Klasse in Java 8 wurde überarbeitet und hat neue Methoden spendiert bekommen. Das hilft beim Iterieren der Inhalte im Directory Tree, beispielsweise mit der Methode walk().

Starke Random Generation

Security ist heute mehr denn je ein zentrales Thema der Programmierung. Mit Java 8 kommt eine neue Methode SecureRandom.getinstanceStrong(), die automatisch den stärksten Random Generator für die JVM heraussucht. Das sorgt Schwachstellen vor.

Date.toInstant()

Das Date/Time-API als neues Feature in Java 8 dürfte jedem Entwickler mittlerweile bekannt sein. Hoch war bislang der Leidensdruck bei der alten Lösung. Wir sprachen im März mit Stephen Colebourne über das neue API. Das neue Feature löst aber ein Problem nicht: den alten Code und die externen Bibliotheken, die man bislang benötigt hatte. Dafür gibt es in Java 8 eine neue Methode toInstant(), die den Code in das neue API konvertiert.

JAX TV

Wer sich trotz dieser interessanten versteckten Features doch lieber erst einmal mit Lambdas beschäftigen möchte, dem empfehlen wir das Video von Angelika Langer und Klaus Kreft, die hier die funktionale Programmierung mit Lambda-Ausdrücken in JAX TV vorstellen:

Funktionale Programmierung in Java mit Lambdas from JAX TV on Vimeo.

Aufmacherbild: search for features concept illustration design over a white background von Shutterstock / Urheberrecht: alexmillos

Kommentare

Ihr Kommentar zum Thema

Als Gast kommentieren:

Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).