Zusammenfassung anderer Änderungen als JEP von Java10

Java 10 wird heute endlich veröffentlicht. ~~ Vielleicht ~~ Ich denke, es wird von hier zum Download angeboten ~~. http://jdk.java.net/10/

Hier finden Sie eine Zusammenfassung der neuen Funktionen in Java 10 mit JEP. Java 10 New Features Summary-Qiita

Es gibt jedoch einige andere Änderungen als die mit JEP. Hier fassen wir die API und andere Änderungen zusammen, die sich wahrscheinlich auf andere Änderungen als JEP auswirken. Extraktion von hier. Klicken Sie hier für weitere Informationen. 109 New Features In JDK 10 - Azul Systems, Inc.

Klicken Sie hier, um OpenJDK herunterzuladen JDK 10 GA Release

Klicken Sie hier, um das Oracle JDK herunterzuladen Java SE Development Kit 10- - Downloads

API-Änderungen

Prozess-ID abrufen

Die Methode "getPid ()" wurde zu "java.lang.management.RuntimeMXBean" hinzugefügt, um die Prozess-ID abzurufen.

import java.lang.management.ManagementFactory;

long pid = ManagementFactory.getRuntimeMXBean().getPid();
System.out.println(pid);

In Anbetracht der Lesbarkeit ist es übrigens besser, in einem solchen Fall nicht "var" zu verwenden. Es ist schwer zu sagen: "Wenn Sie sich die Definition von" getPid () "ansehen, können Sie sehen, dass sie" lang "ist, also können Sie" var "verwenden."

Version herunterladen

Java 9 hat "Runtime.version ()" hinzugefügt, aber die Klasse "Runtime.Version" hat sich entsprechend der neuen Versionierung geändert. feature (), interim (), update (), patch () wurden hinzugefügt und major (), minor () und security () sind jetzt veraltet. ..

Runtime.Version version = Runtime.version();
System.out.printf("%d.%d.%d.%d%n",
        version.feature(), version.interim(), version.update(), version.patch());

Übertragung vom Reader zum Writer

In Java 9 wurde die Methode "transferTo" zu "java.io.InputStream" hinzugefügt, um die Übertragung von "InputStream" zu "OutputStream" zu ermöglichen. In Java 10 wurde sie jedoch in "java.io.Reader" geändert. Die "transferTo" -Methode wurde hinzugefügt, damit "Reader" auch auf "Writer" übertragen werden kann.

var sr = new StringReader("abc\ndef\n");
var sw = new StringWriter();
sr.transferTo(sw);
System.out.println(sw);

Wenn Sie ein solches "neues" verwenden, können Sie den Typ auf der rechten Seite sehen, daher denke ich, dass "var" in Ordnung ist.

Erstellen Sie eine unveränderliche Kopie von List / Set / Map

Die Methode "copyOf" wurde zu "java.util.List", "java.util.Set" und "java.util.Map" hinzugefügt, um Kopien von "List" usw. zu erstellen.

var list = List.copyOf(List.of("aa", "bb", "cc"));

Im Fall von "List" handelt es sich um eine Instanz von "java.util.ImmutableCollections $ ListN", einer privaten Klasse, die auch in "List.of" verwendet wird. Wenn 0 bis 2 Elemente vorhanden sind, handelt es sich um eine Instanz einer dedizierten Klasse wie List0. Wenn es ursprünglich "ImmutableCollections $ ListN" war, wie in diesem Beispiel, wird die angegebene Instanz unverändert zurückgegeben. In JDK11 scheint es mit ListN vereinheitlicht zu sein. http://hg.openjdk.java.net/jdk/jdk/rev/a14ede52a278

Übrigens ist es schwierig, ob "copyOf" von "var" empfangen werden kann.

Optinal / OptionalInt Other orElseThrow ()

"OrElseThrow (Supplier )" ist bereits zusätzlich zu "Optional" verfügbar. Java 10 fügte "orElseThrow ()" ohne Argumente hinzu. Die Methode "get ()" löst eine Ausnahme aus, wenn "Optional" keinen Wert hat. Daher dachte ich zu Beginn des Schreibens dieses Artikels, dass "orElseThrow ()" unnötig sei und ließ es weg, aber in Wirklichkeit ist sich "get ()" richtig bewusst, dass eine Ausnahme ausgelöst wird. Ich musste es verwenden und dachte, es wäre besser, "orElseThrow ()" anstelle von "get ()" zu verwenden. Vielleicht scheint es, dass get () in Zukunft veraltet sein könnte.

Unveränderliche Listen- / Set- / Kartengenerierung aus Stream

"toUnmodizableList", "toUnmodizableSet" und "toUnmodizableMap" wurden zu "java.util.stream.Collectors" hinzugefügt.

List<String> strs = Stream.of("aa", "bb")
        .collect(Collectors.toUnmodifiableList());

toUnmodizableSet () spielt keine Rolle, wenn Duplikate vorhanden sind und eines davon ausgewählt ist, aber toUnmodizableMap () löst java.lang.IllegalStateException aus, wenn doppelte Schlüssel vorhanden sind.

javax.ButtonModel#getGroup()

Swing hat sich auch geändert! !! !!

Andere Änderungen

{@ Summary} JavaDoc-Tag

JavaDoc-Zusammenfassungen können jetzt mit dem Tag {@Summary} in mehreren Zeilen geschrieben werden.

Docker kompatibel

Selbst wenn die JVM mit Docker ausgeführt wurde, ignorierte die Anzahl der CPUs und des Speichers usw. die Docker-Einstellungen und gab die Anzahl der CPUs und die Speichergröße der Plattform zurück. In Java 10 werden jedoch die Docker-Einstellungen gelesen. Ich tat. Dies hatte Auswirkungen auf die Verwendung von Hadoop, Spark usw. mit Docker, auch wenn ich nicht hauptsächlich Java verwendet habe. Daher sind möglicherweise viele Leute dankbar.

-d32 entfernt -d64

Es gab Switches zur Auswahl zwischen der 32-Bit- und der 64-Bit-Version der JVM, aber diese Switches sind weg, da nur die 64-Bit-Version verfügbar ist.

Entfernen Sie das Richtlinientool

Es wurde gelöscht

Kerberos-Einstellungen

Wenn es in "INCLUDEDIR" eine Datei mit dem Namen "* .conf" gibt, wird sie in "krb5.conf" aufgenommen.

Was fälschlicherweise veraltet war, ist zurück

Das "@ veraltet" wurde fälschlicherweise zu "XMLInputFactory # newFactory ()" hinzugefügt, aber es wurde entfernt. Es gibt auch so etwas.

Recommended Posts

Zusammenfassung anderer Änderungen als JEP von Java10
Zusammenfassung der Java-Unterstützung 2018
[Java] Zusammenfassung der regulären Ausdrücke
[Java] Zusammenfassung der Operatoren (Operator)
Zusammenfassung der Grundlagen der Java-Sprache
Zusammenfassung der Java Math Klasse
[Java] Zusammenfassung der Steuerungssyntax
Zusammenfassung der Java-Fehlerverarbeitung
[Java] Zusammenfassung der Entwurfsmuster
[Java] Zusammenfassung der mathematischen Operationen
Spring Framework 5.0 Zusammenfassung der wichtigsten Änderungen
[Für Anfänger] Zusammenfassung des Java-Konstruktors
Zusammenfassung des Pakets [Java Silver Study]
Zusammenfassung der objektorientierten Programmierung mit Java
[Java Silver] Zusammenfassung der Zugriffsmodifikatorpunkte
Zusammenfassung der internen Rookie-Lernsitzung [Java]
[java] Zusammenfassung des Umgangs mit char
[Java] Persönliche Zusammenfassung der bedingten Anweisungen (grundlegend)
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
Java Zusammenfassung der häufig gesuchten Typkonvertierungen
Zusammenfassung von Java Math.random und Import (Kalender)
Zusammenfassung des Java-Wissens
[java] Zusammenfassung des Umgangs mit Zeichenketten
Java Generics Zusammenfassung
Zusammenfassung der Java-Umgebungseinstellungen für mich [mac]
[Java] Zusammenfassung, wie Lambda-Ausdrücke weggelassen werden
Java-bezogene Zusammenfassung
Änderungen in Java 11
Zusammenfassung des Java 8-Dokuments
Ein Beispiel, bei dem die Verwendung von Addition schneller ist als die Verwendung von StringBuilder (Java)
Zusammenfassung des Java 11-Dokuments
[Java] Übersicht über Java
[Java] Grundlegende Zusammenfassung von Java, die nicht von Progate abgedeckt wird ~ Teil 1 ~
Das ist praktisch! Zusammenfassung der beliebten Java-Bibliothek + α
[Java Silver] Zusammenfassung der Punkte im Zusammenhang mit Lambda-Ausdrücken
Zusammenfassung der Revisionen (neue Yuan-Probleme) nach Java-Version
[java.io] Zusammenfassung der Java-String-Eingabe (InputStream, Reader, Scanner)
Zusammenfassung der Kenntnisse, die zum Bestehen von Java SE8 Silver erforderlich sind
Zusammenfassung der Java-Kommunikations-API (1) Verwendung von Socket
Zusammenfassung der Java-Kommunikations-API (3) Verwendung von SocketChannel
Zusammenfassung der Java-Kommunikations-API (2) Verwendung von HttpUrlConnection
Zusammenfassung der Implementierung von Standardargumenten in Java
Zusammenfassung der Methoden zum Lesen von Dateien für jedes Java-Dateiformat
Voraussichtliche Funktionen von Java
Zusammenfassung der neuen Funktionen von Java 12
[Java] Bedeutung der serialVersionUID
Änderungen von Java 8 zu Java 11
effektive Java 3. Zusammenfassung
Bewertung von Java Shilber
Zusammenfassung der neuen Funktionen von Java 13
Zusammenfassung der OpenJDK-Quellen
Java - Vereinigung von Kommentaren
JAR-Datei Übersicht
Java statisch [Persönliche Zusammenfassung]
Geschichte der Java-Annotationen
Zusammenfassung zur Informationssicherheit
Zusammenfassung der Verwendung von FragmentArgs
Java (Verdienste des Polymorphismus)
Thread sichere Zusammenfassung ~ Java ~