Public
Développeurs Java, Chefs de projets.
Objectifs
Maitriser les principales évolutions du langage et leurs impacts sur le développement d'applications
Programme
Introduction
-
Le cycle de release
-
Les versions de Java
-
Intérêt d'une migration
Java 8 et plus - Introduction
-
Aperçu des évolutions de Java 8 et plus
-
Evolutions du langage
-
Expressions Lambda
-
Références de méthodes
-
Méthodes par défaut
-
Annotations répétées, annotations de type
Les entrées/sorties et NIO 2
-
Les nouvelles API java.nio.file
-
La classe File
-
Gestion des fichiers : accès, lecture et écriture.
-
Notification des changements d'un fichier(WatchService)
-
FileSystem et la manipulation des archives
-
Les I/O asynchrones
La Java Virtual Machine
-
Le Garbage-First collector
-
Optimisations de la VM
Fork/Join
-
Parallelisation des traitements
-
taches récursives et pools de threads (RecursiveTask / ForkJoinPool)
-
Les méthodes fork() / join() pour distribuer les traitements
Les nouveautés Swing
-
Look & Feel Nimbus
-
Savoir utiliser le JLayer : Calques et transparence
-
gestion de l'état des composant
Les langages dynamiques
-
Scala, Groovy...
-
Découvertes des langages dynamiques
-
Appeler du code dynamique depuis Java
-
Appeler du Java depuis du code Dynamique
-
InvokeDynamic
Evolutions des API
-
Les flux appliqués aux collections
-
Nouveau package pour les dates
-
Nouveautés dans JavaFX
La programmation modulaire Java 9
-
Présentation de Jigsaw
-
La déclaration des modules
-
Les mots réservés
-
Le fichier module-info.java
-
Lancer une application à partir des modules
-
Le packaging des modules et les JAR
Autres nouveautés Java 9
-
Nouveau rythme de publication
-
JShell : la REPL de Java
-
L'API Optional
-
Instanciation de collections immuables
-
Amélioration des streams
-
Méthodes privées dans les interfaces
Nouveautés Java 10
-
L'inférence de type (mot-clé var)
-
Améliorations dans les API existantes
Nouveautés Java 11
-
L'inférence de type pour les paramètres des lambdas
-
Nouveau client HTTP
-
Simplification de l'exécution des programmes
-
Améliorations dans les classes String, StrtingBuilder et StringBuffer
-
Améliorations des Predicate Java 8
-
Classes imbriquées et visibilité des attributs
Autres nouveautés
-
Apports de la JDK 12 à 17
-
Déploiement d'applications avec les profils compacts
-
Invocation de code JavaScipt avec Nashorn
Prérequis
Une première expérience du langage java est requise.