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
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."
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());
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.
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.
"OrElseThrow (Supplier
"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! !! !!
JavaDoc-Zusammenfassungen können jetzt mit dem Tag {@Summary}
in mehreren Zeilen geschrieben werden.
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.
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.
Es wurde gelöscht
Wenn es in "INCLUDEDIR" eine Datei mit dem Namen "* .conf" gibt, wird sie in "krb5.conf" aufgenommen.
Das "@ veraltet" wurde fälschlicherweise zu "XMLInputFactory # newFactory ()" hinzugefügt, aber es wurde entfernt. Es gibt auch so etwas.
Recommended Posts