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