[JAVA] [Memo] Séminaire de nuit JJUG
Notes personnelles pour le JJUG Night Seminar
L'histoire de Kishida
- Fondamentalement, l'histoire de Qiita
- Discussion sur la langue et l'API
--JEP 8 API 2
- Aucun effet sur l'écriture de programmes
- L'instruction switch est toujours un aperçu, vous ne devez donc pas l'utiliser dans votre produit.
--Introduction de ceux sur 12 et de ceux avec 13 probables
L'histoire de l'interrupteur
- De l'instruction à l'expression
- Ne peut pas être utilisé sans activer l'aperçu avec javac, etc.
――Peut-être que les spécifications vont changer, alors ne l'utilisez pas positivement maintenant
--Plusieurs cas sont possibles
- Vous pouvez avoir plusieurs valeurs dans la clause case
- syntaxe fléchée
--Le type Lambda peut être utilisé
- Aucune pause requise
--Facile à voir et à écrire
- Lors de l'écriture de blocs, lors de plusieurs processus
--switch devient une expression
--Un cas correspondant à tout est requis (la quantification / la chaîne de caractères doit être par défaut)
Remarques
- Ne peut pas être utilisé sans activer l'aperçu avec javac, etc.
- L'endroit où la valeur est retournée par break est suspect (il semble être en rupture avec)
- Les mots-clés contenant une spécification du langage Java sont susceptibles d'augmenter
- break-with
--package-private (si vous voulez le déclarer explicitement)
JVM Constant API
--Il existe une référence de symbole dans la spécification du langage Java, et la référence de symbole peut être utilisée à partir de l'API.
――Il semble être utilisé lorsque vous gâchez la réflexion lors de la création d'un fichier de classe
――Je ne pense pas vraiment à la programmation
CDS Archives
――Cela vous fait du bien de rassembler des informations de classe sur le système
- Le démarrage est un peu plus rapide
Shennandoah
――Pouvez-vous remplir entre G1GC et zgc?
-Il semble lire Shenando
Microbenchmark Suite
- Aucune personne ordinaire ne l'utilise (M. Sakuraba)
- C'est celui qui voit les performances de JDK, donc il n'est utilisé que par les développeurs JDK
Autres modifications de l'API
Collectors.teeing
- Lorsque vous souhaitez utiliser les valeurs de deux collecteurs
- compter et rejoindre
- teeing(Collectors, Collectors), (c, s) -> ....)
――Si vous nidifiez dans le tee, vous pouvez aller avec 3 ou 4
String.transform()
--Lors de l'obtention de la carte, puis de la carte avec sa valeur de retour
--Comme str.transform (Classe: get) .transform (Classe: get)
String.indent()
--Comme str.indent (3)
――Le retrait reviendra
- Une valeur négative est également possible
--Ignoré s'il n'y a pas d'espace blanc
NumberFormat.getCompactNumberInstance()
--Si vous passez un nombre à .format, il sera converti.
--Soutien jusqu'à un billion
FileMismatch
--Retourne le premier des deux fichiers dans une position différente
――Il vous dira ce qui est différent
skipNBytes
- Le Qiita de Kishida-san est écrit
Il peut y avoir Java13
- Formalisation des commutateurs
- Jpackage
- Changement de spécification de NullPointerException
switch
--preview semble se détacher
- break-with
--Il n'y a pas de valeur par défaut avec
--Il peut y avoir des packages privés
JPackage
- Même contenu que le packager JavaFX
- Le blog de Kishida-san
--Il semble que vous puissiez créer une arborescence de fichiers contenant le JDK et le conditionner.
Changement de spécification de NullPointerException
――Il peut être plus facile de comprendre où le visqueux s'est produit
La renaissance de RawStringLiterals
- À l'origine, placez la chaîne de caractères, y compris l'ouverture, etc. entre guillemets arrière
――Mais il semble que ce n'était pas facile
- Trois guillemets?
――L'aperçu peut ne pas être à l'heure à 13
L'histoire de David Buck
- Ingénieur JVM
--Je ne sais rien de weblogic
démo
--Utiliser Shenandoah
--Non inclus dans Oracle JDK
--Parce que c'est un projet Red Hat
-Www je ne peux pas me parler
Histoire de ZGC
Qu'est-ce que ZGC
- Qu'est-ce que z?
--Il y avait zfs (système de fichiers zettabyte)
--zettabyte est de 1000 à la 7e puissance = 1 milliard de téraoctets
--zebibyte est de 1024 à la 7e puissance
--zfs et zgc ne sont pas si liés
--GC de JDK11 ou version ultérieure
- GC à faible latence à l'échelle
- Prise en charge de tas jusqu'à plusieurs To
--Arrêtez moins de 10 ms (en fait plus rapidement)
- Le réglage est basique (OK si vous ne spécifiez que la taille du tas)
--Supérieur de 15% ou moins
--current: Expression de région
- traçage: support NUMA
- Compactiong : Load barriers
- Single Generetion : Colored pointers
Caractéristiques de ZGC
――La réponse ne change pas quelle que soit la taille du tas utilisée.
- Effets des références de route
--Réduire le nombre de threads d'exécution Java
-Concurrent GC sauf pour la numérisation des threads
――Il semble être très historique
- L'espace d'adresse est réservé à 4 To
- Vous pouvez jouer avec les threads de travail GC en optimisant, mais le nombre de threads d'exécution diminuera.
Liens qui peuvent être utiles