Java 8-Version und Funktionen

Schließlich kommt Java 8 am 18. März 2014. Diese Version wurde unter angekündigt EclipseCon 2014. Es ist die erste große Veröffentlichung in Java nach zwei Jahren. Java 8 bringt viele neue Funktionen mit sich, die für die Java-Programmierung selbst neu sind. Ab heute können Sie Java 8 herunterladen und in Ihrem Projekt verwenden. Einige der bemerkenswerten Verbesserungen und Funktionen in Java 8 sind unten aufgeführt. Viele der Funktionen haben wir hier in den Java 8-Tutorials bereits behandelt.

Java 8

Lambdas-Ausdrücke

bieten eine Möglichkeit, Funktionen als Daten zu übergeben. Mit impliziter Umwandlung in Single Abstract Method-Typen (z. B Runnable) wird es den Code, der Filter und andere Prädikate als Daten übergeben muss, erheblich vereinfachen. (Beachten Sie, dass sie Lambdas genannt werden, weil es in Java seit Java 1.1 Abschlüsse in Form von inneren Klassen gibt; bei dem, was manche fälschlicherweise als Abschlüsse bezeichnen, handelt es sich in Wirklichkeit um Lambdas.) Ein Beispiel für ein Lambda ist x -> x +1.

  • Erweiterte Sammlungs-API in Java 8 – Unterstützt Lambda-Ausdrücke
  • Ein kleiner Vorgeschmack auf die Lambda-Ausdrücke in Java 8

Stream-API

  • Klassen im Neuen java.util.stream Das Paket stellt eine Stream-API bereit, um funktionale Vorgänge für Elementströme zu unterstützen. Die Stream-API ist in die Collections-API integriert, die Massenoperationen für Sammlungen ermöglicht, wie z. B. sequentielle oder parallele Map-Reduction-Transformationen.

Erweiterungsmethoden oder Defender-Methoden

Wir alle wissen, dass die Schnittstellen keine Implementierung für die Methoden enthalten. Um Unterstützung für neue APIs bereitzustellen, die die Verwendung von Abschlüssen unterstützen und auch auf Multi-Core-Plattformen ausgeführt werden können, muss es eine Möglichkeit geben, diese APIs zu vorhandenen Klassen hinzuzufügen. Beispielsweise können Methoden wie forEach, Map, Reduce und Filter, die auf eine Sammlung wirken, direkt zur Collection-Klasse hinzugefügt werden oder eine neue Schnittstelle erstellen und diese von der gesamten Sammlungs-API implementieren lassen oder es dem Benutzer der API überlassen, sie zu implementieren neue Schnittstelle. Die ersten beiden Ansätze würden aufgrund der fehlenden Implementierung dieser neuen Methoden in der Schnittstelle dazu führen, dass viel vorhandener Code beschädigt wird. Der letzte Ansatz ist möglich, verbessert jedoch nicht die standardmäßige Sammlungs-API.

Das Team, das für JSR-335 verantwortlich ist, hat sich eine Möglichkeit überlegt, den Schnittstellen eine Standardimplementierung hinzuzufügen, die dem Implementierer die Möglichkeit gibt, die Methode zu überschreiben oder sie unverändert zu lassen. Auf diese Weise können der Collection-Klasse neue APIs hinzugefügt werden, ohne den vorhandenen Code zu beschädigen, und dennoch die vollständige Unterstützung der Abschlüsse des vorhandenen Codes bieten. Man kann ausführlich über virtuelle Erweiterungsmethoden lesen Hier.

  • Virtuelle Erweiterungsmethoden (oder Defender-Methoden) in Java 8
  • Lösung des Aufrufs virtueller Erweiterungsmethoden in Java 8

JSR 310

In diesem Abschnitt wird Java eine neue Datums- und Uhrzeit-API hinzugefügt, um Probleme zu vermeiden, die sich aus den vorhandenen java.util.Data-Klassen ergeben.

Methodenreferenzen

Methodenverweise stellen leicht lesbare Lambda-Ausdrücke für Methoden bereit, die bereits einen Namen haben.

Andere Änderungen

  • Entfernung von PermGen
  • JDK 8 enthält Java Mission Control 5.3
  • Standardmethoden in der Programmiersprache Java werden durch die Bytecode-Anweisungen für den Methodenaufruf unterstützt.
  • Dem wurden Klassen und Schnittstellen hinzugefügt java.util.concurrent Paket.
  • JDBC 4.2 führt neue Funktionen ein.
  • Nashorn Javascript-Engine
  • Wiederholte Annotationen bieten die Möglichkeit, denselben Annotationstyp mehr als einmal auf dieselbe Deklaration oder Typverwendung anzuwenden.

Abgesehen von den oben genannten Änderungen gibt es im Rahmen der Java 8-Version zahlreiche neue Funktionen und Änderungen. Sie können die gesamte Funktionsliste lesen Hier.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen