Un nouvel ingénieur est allé à JJUG ~ "Fonctionnalité spéciale de la version Java SE 10 / JDK 10" (2018/03/26 (lundi)) ~

JJUG Night Seminar "Java SE 10 / JDK 10 Release Special" (lundi 26 mars 2018)

Annonce du modèle de version JDK

Mark Reinhold viendra au Japon pour une conférence de base lors du prochain Java Day Tokyo! .. Le site d'inscription ouvrira bientôt!

JDK Examen du nouveau modèle de version

Merci pour l'inférence de type de variable locale JDK10 David Buck

Localisation actuelle

--JDK 9 publié le 21 septembre 2017

Inférence de type de variable locale


Arraylist<String> list = new ArrayList<>();
Stream<String> stream = list.stream();

//Viendra appeler comme ça
var list = new new ArrayList<>();
var stream = = list.stream();

** Notez que l'inférence de type n'est pas typée dynamiquement !!! **

Pourquoi maintenant?

--java a mis l'accent sur la lisibilité plutôt que sur l'écriture

Pourquoi seulement des variables locales?

Comment utiliser

--Il existe diverses restrictions autres que l'utilisation de var --Restrictions

--Peut être exprimé dans le langage des types dénotables (). -> Ne peut pas être représenté par java

var hogehoge = new Object() {
    public void say(){~}
}

hogehoge.say();

Qu'est-ce que var?

int var = 1; ... ok

class var {

}... ng

var var = var();Compiler les passes! 

Comment coder?

  1. La lisibilité plutôt que l'écriture, à n'utiliser que lors de l'utilisation de var facilite la lecture
  2. Quand vous pouvez comprendre avec le code local
  3. Ne vous fiez pas à des outils tels que les IDE, ne dites pas que ça va parce que vous pouvez le voir avec une souris dessus!
  4. C'était un compromis pour déclarer explicitement le type, et la politique était d'utiliser des expressions lambda et de ne pas utiliser de classes internes anonymes. Mais cette fois ce n'est pas le cas. L'écriture de toutes les variables locales dans var est différente

--Comment utiliser?

  1. Utilisez des noms de variables qui représentent des informations utiles
  2. Limiter la portée des variables locales
  3. Pensez à utiliser var si vous ne connaissez le type qu'à partir de l'initialisation
  4. Utilisez var pour décomposer les appels consécutifs (souvent dans Stream)
  5. Vous n'avez pas à vous soucier de la programmation de l'interface (programmation de l'interface)
    var List = new ArrayList<>();
    
  6. Soyez prudent lors de l'utilisation avec l'opérateur diamant et la méthode générique.
  7. Soyez prudent lorsque vous utilisez avec des littéraux.

Autre

NTT OSS Center Yuji Kubota Kishida "Comment java 10 va-t-il changer nos vies?"

Yushi Kubota Kishida-san

12 nouveautés

--Docker a des API plus utiles

Collecte d'informations de java10

Fonctionnalités commerciales du JDK Oracle

  1. AppCDS
  2. Resource Management
  3. Java Flight Recorder
  4. Java Misson Control

--Le GC complet de G1 GC, qui était une exécution à un seul thread, est parallélisé ... Puisqu'il s'agit d'un dernier recours, la situation d'abus elle-même n'est pas bonne.

Incompatibilité

--forRemoval = true sera supprimé dans la version suivante ou ultérieure

Améliorations des conteneurs Docker

API

javadoc --L'annotation @Summary a été créée. Le résumé sera certainement appliqué.

Cela, impression

―― Ce que je pensais devoir retenir à partir de maintenant --JVM, compilateur JIT, GC ――Je pensais que je devais me souvenir de l'expression lambda --swing et AWT «Je pouvais ressentir la confiance que les orateurs et le public connaissent java.

--Il existe un tel HP JJUG (j'ai d'abord entendu parler de Jay Jug) HP de JJUG

Recommended Posts

Un nouvel ingénieur est allé à JJUG ~ "Fonctionnalité spéciale de la version Java SE 10 / JDK 10" (2018/03/26 (lundi)) ~
[* Java *] Je suis allé au JJUG CCC 2017 Automne
Envoyez-moi une feuille de route pour devenir un ingénieur Java à part entière
[Java] Comment rompre une ligne avec StringBuilder
Résumé des nouvelles fonctionnalités de Java 12
Résumé des nouvelles fonctionnalités de Java 13
Résumé des nouvelles fonctionnalités de Java 10
Résumé des nouvelles fonctionnalités de Java 14