Java 10 est enfin disponible aujourd'hui. ~~ Peut-être ~~ Je pense qu'il sera disponible pour téléchargement à partir d'ici ~~. http://jdk.java.net/10/
Voici un résumé des nouvelles fonctionnalités de Java 10 qui ont JEP. Résumé des nouvelles fonctionnalités de Java 10 - Qiita
Cependant, il y a pas mal de changements autres que ceux avec JEP. Ici, nous résumerons l'API et d'autres changements susceptibles d'avoir un impact sur des changements autres que JEP. Extraction d'ici. Cliquez ici pour plus d'informations. 109 New Features In JDK 10 - Azul Systems, Inc.
Cliquez ici pour télécharger OpenJDK JDK 10 GA Release
Cliquez ici pour télécharger le JDK Oracle Java SE Development Kit 10- - Downloads
La méthode getPid () a été ajoutée à java.lang.management.RuntimeMXBean pour obtenir l'ID du processus.
import java.lang.management.ManagementFactory;
long pid = ManagementFactory.getRuntimeMXBean().getPid();
System.out.println(pid);
En passant, compte tenu de la lisibilité, il vaut mieux ne pas utiliser «var» dans un tel cas.
Il est difficile de dire: "Si vous regardez la définition degetPid (), vous pouvez voir qu'elle est longue, donc vous pouvez utiliser var."
Java 9 a ajouté Runtime.version (), mais la classe Runtime.Version utilisée a changé en fonction du nouveau contrôle de version.
feature (), ʻinterim () , ʻupdate (), patch () ont été ajoutés, et major (), minor (), security () sont maintenant obsolètes. ..
Runtime.Version version = Runtime.version();
System.out.printf("%d.%d.%d.%d%n",
version.feature(), version.interim(), version.update(), version.patch());
Dans Java 9, la méthode transferTo a été ajoutée à java.io.InputStream pour permettre le transfert de ʻInputStream vers ʻOutputStream, mais dans Java 10, elle a été changée en java.io.Reader. La méthode transferTo a été ajoutée afin que Reader puisse également transférer vers Writer.
var sr = new StringReader("abc\ndef\n");
var sw = new StringWriter();
sr.transferTo(sw);
System.out.println(sw);
Lorsque vous utilisez un tel new, vous pouvez voir le type en regardant le côté droit, donc je pense que var est bien.
La méthode copyOf a été ajoutée à java.util.List, java.util.Set et java.util.Map pour faire des copies de List et ainsi de suite.
var list = List.copyOf(List.of("aa", "bb", "cc"));
Dans le cas de List, il s'agit d'une instance de java.util.ImmutableCollections $ ListN, une classe privée également utilisée dans List.of. S'il y a 0 à 2 éléments, ce sera une instance d'une classe dédiée telle que List0.
S'il s'agissait à l'origine de ʻImmutableCollections $ ListN`, comme dans cet exemple, l'instance donnée sera retournée telle quelle.
Dans JDK11, il semble être unifié à ListN.
http://hg.openjdk.java.net/jdk/jdk/rev/a14ede52a278
À propos, il est délicat de savoir si «copyOf» peut être reçu par «var».
ʻOptionalA part ça, ʻou ElseThrow (Supplier <Throwable>)est déjà disponible.
Java 10 a ajouté ʻou ElseThrow () sans arguments. La méthode get () lève une exception lorsque ʻOptional n'a pas de valeur. Par conséquent, au début de la rédaction de cet article, j'ai pensé que ʻou ElseThrow () était inutile et je l'ai omis, mais en réalité get () est bien conscient qu'une exception est lancée. J'ai dû l'utiliser, et j'ai réalisé que je devais utiliser ʻou ElseThrow () au lieu deget ().
Peut-être qu'il semble que «get ()» devienne obsolète à l'avenir.
toUnmodifiableList, toUnmodifiableSet et toUnmodifiableMap ont été ajoutés à java.util.stream.Collectors.
List<String> strs = Stream.of("aa", "bb")
.collect(Collectors.toUnmodifiableList());
toUnmodifiableSet () n'a pas d'importance s'il y a des doublons, et l'un d'eux est sélectionné, maistoUnmodifiableMap ()lance java.lang.IllegalStateException s'il y a des clés en double.
javax.ButtonModel#getGroup()
Le swing a également changé! !! !!
Les résumés JavaDoc peuvent désormais être écrits sur plusieurs lignes à l'aide de la balise {@Summary}.
Jusqu'à présent, même si la JVM fonctionnait avec Docker, le nombre de processeurs et de mémoire, etc. ignorait les paramètres Docker et renvoyait le nombre de processeurs et la taille de la mémoire de la plate-forme, mais à partir de Java 10, il lira les paramètres de Docker. J'ai fait. Cela a eu un effet lors de l'utilisation de Hadoop, Spark, etc. avec Docker, même si je n'utilisais pas principalement Java, tant de gens peuvent être reconnaissants.
Il y avait des commutateurs à choisir entre les versions 32 bits et 64 bits de la JVM, mais ces commutateurs ont disparu car seule la version 64 bits est disponible.
Il a été supprimé
S'il y a un fichier appelé * .conf dans ʻINCLUDEDIR, il sera inclus dans krb5.conf`.
Le @ Deprecated a été incorrectement ajouté à XMLInputFactory # newFactory (), mais il a été supprimé.
Il y a aussi une telle chose.
Recommended Posts