Einführung des Java-Programmierhandbuchs der neuen Generation (Java 11)

Dieser Artikel ist eine Fortsetzung von Einführung in das Java-Programmierhandbuch der neuen Generation (Java 10).

Änderungen in Java 11

In Java 11 sind die folgenden 6 geschrieben.

Lokale Variablensyntax für Lambda-Parameter

Sie können jetzt var mit Lambda-Ausdrucksparametern in Java 11 verwenden. Einige mögen sich fragen: "Oh? Die Parameter des Lambda-Ausdrucks mussten ursprünglich keine Typdeklaration haben?" Sicherlich in der Lambda-Formel

(int age) -> x > 100;
(age) -> x > 100;
x -> x > 100;

Die Typspezifikation wird mit Ausnahme der ersten weggelassen. Und die Tatsache, dass var als Parameter verwendet werden kann

(var age) -> x > 100;

Es bedeutet, dass Sie so schreiben können. Übrigens, wenn var

var age -> x > 100;

Sie können () nicht wie in weglassen. Die Verwendung von var im vorherigen Beispiel ist nicht sinnvoll, aber die Verwendung von var ermöglicht das Hinzufügen von * Anmerkungen ohne * Typdeklaration. Mit anderen Worten

@Nullable var name -> name.length() > 32;

Es bedeutet, dass Sie so etwas schreiben können. Wenn var nicht verfügbar wäre, könnten wir keine Anmerkungen ohne eine konkrete Typdeklaration verwenden. Das Buch erklärt diese Geschichten im Detail.

Epsilon GC-Verbesserung des Garbage Collector

Epsilon GC ist ein "GC, der keinen Müll sammelt". Es klingt ein bisschen inkonsistent, aber Epsilon GC gibt Speicher frei. Wenn Ihrer Anwendung der Heapspeicher ausgeht, wird die JVM mit dem Ihnen allen bekannten "OutOfMemoryError" beendet. Dies ist der Epsilon GC, aber es gibt einige nützliche Situationen.

HTTP-Client-API

Es wurde in Java 9 als nicht standardmäßige Bibliothek eingeführt und beschreibt die HTTP-Client-API, die in Java 10 geändert und in Java 11 standardisiert wurde. Java hat die HttpURLConnection-Klasse seit der 1.1-Ära, aber aus der Erklärung, warum die Entwicklung einer neuen HTTP-Bibliothek durchgeführt wurde, der Methodenliste jeder Klasse und dem Beispiel konkreter Codebeispiele, vom grundlegenden Inhalt bis zum konkreten Es wird ausführlich erklärt. Ich denke, der Inhalt ist selbst für Entwickler, die normalerweise nicht mit HTTP-Clients entwickeln, leicht zu verstehen.

ZGC-Geringere Latenz und verbesserte Skalierbarkeit

Dies ist eine Beschreibung von ZGC (Z Garbage Collector), das als experimenteller GC für Java 11 veröffentlicht wurde. Erläutert die Funktionen und Mechanismen von ZGC, die versprechen, dass die Anwendungsverzögerung 10 mm nicht überschreitet, Befehlsbeispiele und Optionen für die tatsächliche Verwendung von ZGC.

Flugschreiber und Missionskontrolle

Verwenden Sie tatsächlich JFR (Java Flight Recorder), einen in die JVM integrierten Hochleistungs-Profiler mit geringem Overhead, und JMC (Java Mission Control), ein Tool zur Analyse der von JFF aufgezeichneten Daten, als Lernprogramm. Es wird anhand eines Beispiels erklärt. Dieses Wissen ist hilfreich, um die Ursache zu untersuchen, wenn die Anwendung abstürzt oder sich unerwartet verhält.

Weitere Verbesserungen in JDK 11

Weitere Verbesserungen werden in den folgenden Punkten beschrieben.

Alle werden nur kurz erklärt, aber Sie sollten sich nützlicher Funktionen bewusst sein, z. B. des Programmstarts von Quellcode für einzelne Dateien (insbesondere, wenn Sie die IDE nicht verwenden).

Dies ist die Einführung des Java-Programmierhandbuchs der neuen Generation (Java 11).

Recommended Posts

Einführung des Java-Programmierhandbuchs der neuen Generation (Java 10)
Einführung des Java-Programmierhandbuchs der neuen Generation (Java 11)
Einführung des Java-Programmierhandbuchs der neuen Generation (Java 12)
Einführung des Java-Programmierhandbuchs der neuen Generation (Java-Spracherweiterungsprojekt "Amber" Edition)
[Java] Neue Thread-Generierungsmethode (2)
[Java] Neue Thread-Generierungsmethode (1)
Einführung in die funktionale Programmierung (Java, Javascript)
Zusammenfassung der objektorientierten Programmierung mit Java
[Java] Einführung
Memorandum des neuen Absolventen SES [Java-Grundlagen]
Java Programming Style Guide für die Java 11-Ära
Ausgabe des Buches "Einführung in Java"
Ich habe EX25 des AtCoder Programming Guide für Anfänger (APG4b) in Java geschrieben.
Einführung von pay.jp
Die Geschichte des Lernens von Java in der ersten Programmierung
Einführung von Milkode
Java-Sequenzgenerierung
Memorandum des neuen Absolventen SES [Java Object Oriented Edition]
Java1.8 neue Funktionen
Java Generische Programmierung
[Java] Einführung in Java
Einführung in Java
[Einführung in Java] Grundlagen der Java-Arithmetik (für Anfänger)
Verwenden wir Java New FileIO! (Einführung für Anfänger)
[Java] Übersicht über Java
Erfahrung mit dem Bestehen von Java Silver als neuer Absolvent
Einführung in Java für Anfänger Grundkenntnisse der Java-Sprache ①
Schnell lernen Java "Einführung?" Teil 3 Von der Programmierung wegreden
Voraussichtliche Funktionen von Java
Zusammenfassung der neuen Funktionen von Java 12
Einschränkungsprogrammierung in Java
[Java] Bedeutung der serialVersionUID
Einführung von Docker - Teil 1--
Bewertung von Java Shilber
Zusammenfassung der neuen Funktionen von Java 13
[Java] Stream API-Stream-Generierung
[Rails] Einführung von PAY.JP
Java - Vereinigung von Kommentaren
Java-Programmiergrundlagen Übungsarray
Geschichte der Java-Annotationen
Java (Verdienste des Polymorphismus)
Java-Programmierung (Klassenmethode)
Einführung in die praktische Programmierung
[Java] Passwortgenerierung (Pasay)
Einführung der Benutzerauthentifizierung
NIO Bewertung von Java
Einführung in den Java-Befehl
Java-Programmierung (Klassenstruktur)
Zusammenfassung der neuen Funktionen von Java 10
Programmiernotiz für Java-Wettbewerbe
[Java] Drei Funktionen von Java
Zusammenfassung der neuen Funktionen von Java 14
Was ist neu in Java 9,10,11
Zusammenfassung der Java-Unterstützung 2018
Java Programming Thread Runnable
Wiedereinführung in Java for Humanities 0: Den Akt der Programmierung verstehen
[Einführung in Java] Umgang mit Zeichenfolgen (String-Klasse, StringBuilder-Klasse)