Was ist neu in Java 9,10,11

Einführung

Hallo, das ist @chan_kaku! Dieses Mal werde ich die in Java 9 bis 11 hinzugefügten APIs und Funktionen für diejenigen erläutern, die über eine Migration von Java 8 auf Java 11 nachdenken.

Java9 Weitere Funktionen von Java9 finden Sie unter hier.

Modulsystem

In Java 9 gab es ein Projekt namens Project Jigsaw. Details finden Sie unter dem unten stehenden Link Über Project Jigsaw Mit anderen Worten, die folgenden vier Punkte waren die Ziele dieses Projekts

Make it easier for developers to construct and maintain libraries and large applications

Erleichtert die Wartung von Bibliotheken und großen Anwendungen

Improve the security and maintainability of Java SE Platform Implementations in general, and the JDK in particular

Verbesserte Sicherheit und Wartbarkeit der Java SE-Plattform

Enable improved application performance

Verbesserte Anwendungsleistung

Enable the Java SE Platform, and the JDK, to scale down for use in small computing devices and dense cloud deployments.

Die Java SE-Plattform und das JDK können für die Verwendung in Computergeräten mit geringer Leistung und dichten Cloud-Bereitstellungen verkleinert werden

Um diese Probleme zu lösen, führte Java 9 ein Modulsystem ein.

Das Modulsystem wird ausführlich in Around here erläutert.

Mit anderen Worten, wenn Sie die öffentlichen und geschützten Mitglieder eines anderen Moduls (Bibliothek) verwenden oder wenn Sie die öffentlichen und geschützten Mitglieder für ein anderes Modul verwenden, müssen Sie eine Datei mit dem Namen module-info.java vorbereiten. Dieses Modulsystem macht es einfacher als je zuvor, Modulabhängigkeiten und hierarchische Strukturen zu verstehen.

Java10 Die neuen Funktionen von Java 10 sind in [hier] zusammengefasst (http://openjdk.java.net/projects/jdk/10/). Ich werde die Funktionen übernehmen, die mir persönlich wichtig sind

Typinferenz

JEP 286: Local-Variable Type Inference

Dies ist eine Typinferenzfunktion für lokale Variablen

sample.java


var list = new ArrayList<String>();  // infers ArrayList<String>
var stream = list.stream();          // infers Stream<String>

Wenn Sie in Java diese Variable für irgendetwas verwenden, kennen Sie den Typ nicht gut, daher habe ich nicht den Eindruck, dass Sie ihn so oft verwenden, aber Sie können ihn verwenden, wenn der Typ wie oben beschrieben auf der rechten Seite angegeben ist. Ist es nicht?

Java11 Wie üblich sind die neuen Funktionen von Java 11 in [hier] zusammengefasst (https://openjdk.java.net/projects/jdk/11/). Ich würde gerne einige davon abholen.

Zugriffsbeschränkungen für verschachtelte Klassen

JEP 181: Nest-Based Access Control

Hier wird angegeben, dass der private Zugriff von Nestmates als JVM-Zugriffsregel eingeschränkt ist. Übrigens ist der verschachtelte Partner, der hier herauskam, wie folgt definiert

A field or method R is accessible to a class or interface D if and only if any of thefollowing conditions are true: ・ R ist privat und wird in einer anderen Klasse oder Schnittstelle deklariert. C und C und D sind Nestkameraden.

Dies gilt auch für den Benutzer, aber wenn ich Bytecode verwende, lese ich eine Methode, die ich bis jetzt nicht verstanden habe, und jetzt ist es das, was ich beabsichtigt habe. Es ist wie es ist

HTTP-Client

JEP 321: HTTP Client (Standard)

Dies soll Modan APi, HTTP2, WebSocket, Reactive unterstützen.

Typinferenz

JEP 323: Local-Variable Syntax for Lambda Parameters

Dies besagt, dass die Typinferenz, die auch in Java 10 erläutert wurde, jetzt als Parameter für Lambda-Ausdrücke verwendet werden kann.

Schließlich

In Java 9 ~ 11 wurden verschiedene Funktionen hinzugefügt, aber ich persönlich habe den Eindruck, dass es in Ordnung ist, wenn Sie die hier vorgestellten Bereiche gedrückt halten. Wenn Sie diese Funktion nicht kennen, kommentieren Sie sie bitte!

Recommended Posts

Was ist neu in Java 8?
Was ist neu in Java 9,10,11
Denken wir daran, was in Java 9 neu ist
Was ist neu in Apache Camel 2.19.0?
Partisierung in Java
Änderungen in Java 11
Janken in Java
Umfangsrate in Java
FizzBuzz in Java
Ich habe das neue Yuan-Problem in Java ausprobiert
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Zusammenfassung der neuen Funktionen von Java 12
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Zusammenfassung der neuen Funktionen von Java 13
Kommentare in der Java-Quelle
Formatieren Sie XML in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
Fehler in Java ausdrücken
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Zusammenfassung der neuen Funktionen von Java 10
Verwenden Sie PreparedStatement in Java
Zusammenfassung der neuen Funktionen von Java 14
Parallele Ausführung in Java
[Java] Neue Thread-Generierungsmethode (2)
Lesen Sie Binärdateien in Java 1
Vermeiden Sie den Fehler, den Yuma in Java gemacht hat
[Neta] Sleep Sort in Java
Bearbeiten von ini in Java: ini4j
Java-Geschichte in dieser Welt
Segfo Java in 6 Zeilen
Versuchen Sie, JavaScript in Java aufzurufen
Lassen Sie uns Spresense mit Java entwickeln (1)
Ich habe ein Roulette in Java gemacht.
Neue Funktionen von Java7 bis Java8
Implementierung der zweistufigen Authentifizierung in Java
Refactoring: Machen Sie Blackjack in Java
Schreiben Sie Flyway-Rückrufe in Java
Themenanalyse (LDA) in Java
Importieren Sie Excel-Daten mit Java 2