Neue Funktionen in Java 9
Java 9 wurde am 22. September 2017 veröffentlicht und brachte viele neue Funktionen mit sich, wobei die wichtigste Änderung das implementierte Modulsystem war. Als Nächstes werden wir die neuen Funktionen von Java 9 im Detail vorstellen.
Neue Funktionen in Java 9
- Modulsystem: Ein Modul ist ein Container für Pakete. Eine der größten Änderungen in Java 9 ist die Einführung des Modulsystems (Project Jigsaw).
- REPL (JShell): Interaktive Programmierumgebung.
- HTTP 2 Client: Der HTTP/2-Standard ist die neueste Version des HTTP-Protokolls. Die neue HTTPClient-API unterstützt WebSocket- und HTTP2-Streams sowie Server-Push-Funktionen.
- Verbessertes Javadoc: Javadoc unterstützt jetzt die Suche in der API-Dokumentation. Darüber hinaus entspricht die Javadoc-Ausgabe jetzt den HTML5-Standards.
- Multi-Release-JAR-Dateien: Das Multi-Release-JAR-Feature ermöglicht es Ihnen, Klassenversionen zu erstellen, die nur ausgewählt werden, wenn Bibliotheksprogramme in bestimmten Versionen der Java-Umgebung ausgeführt werden.
- Collection-Factory-Methoden: In den Schnittstellen List, Set und Map können neue statische Factory-Methoden unveränderliche Instanzen dieser Collections erstellen.
- Private Schnittstellenmethoden: Verwenden Sie private Methoden in Schnittstellen. Wir können den privaten Zugriffsmodifizierer verwenden, um private Methoden in Schnittstellen zu schreiben.
- Process-API: Verbesserte API zur Steuerung und Verwaltung von Betriebssystemprozessen. Sie führt java.lang.ProcessHandle und seine verschachtelte Schnittstelle Info ein, um Entwicklern zu helfen, dem Dilemma zu entgehen, nativen Code verwenden zu müssen, um die PID eines lokalen Prozesses zu erhalten.
- Verbesserte Stream-API: Die verbesserte Stream-API fügt einige praktische Methoden hinzu, wodurch die Stream-Verarbeitung einfacher wird und komplexe Abfragen mithilfe von Collectors geschrieben werden können.
- Verbessertes try-with-resources: Wenn Sie bereits über eine Ressource verfügen, die final oder effektiv final ist, können Sie diese Variable in einer try-with-resources-Anweisung verwenden, ohne eine neue Variable in der try-with-resources-Anweisung zu deklarieren.
- Verbesserte @Deprecated-Annotation: Die @Deprecated-Annotation kann den Status einer Java-API markieren und anzeigen, dass die markierte API entfernt wird oder bereits defekt ist.
- Verbesserter Diamond-Operator: Anonyme Klassen können den Diamond-Operator verwenden.
- Verbesserte Optional-Klasse: java.util.Optional fügt viele neue nützliche Methoden hinzu. Optional kann direkt in einen Stream konvertiert werden.
- Multi-Resolution-Image-API: Durch die Definition einer Multi-Resolution-Image-API können Entwickler Bilder mit unterschiedlichen Auflösungen einfach bearbeiten und anzeigen.
- Verbesserte CompletableFuture-API: Der asynchrone Mechanismus der CompletableFuture-Klasse kann Operationen ausführen, wenn die ProcessHandle.onExit-Methode beendet wird.
- Leichtgewichtige JSON-API: Eine leichtgewichtige JSON-API ist integriert.
- Reactive Streams API: Java 9 führt eine neue Reactive Streams API ein, um reaktive Programmierung in Java 9 zu unterstützen.
Weitere neue Funktionen finden Sie auf der offiziellen Website:Was ist neu in JDK 9
JDK 9 Download-Adresse:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-doc-downloads-3850606.html
In den Beispielen im Java-9-Artikel verwenden wir durchgängig die JDK-1.9-Umgebung. Mit dem folgenden Befehl können Sie die aktuelle JDK-Version anzeigen:
$ java -version java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+163) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+163, mixed mode)Als Nächstes stellen wir die neuen Funktionen von Java 9 im Detail vor: