Formation Nouveautés de Java 9 à Java 15
2 JoursDescription de la formation Nouveautés Java 9 à Java 15
Java 9, sorti en septembre 2017, apporte des changements significatifs au développement et déploiement d’applications Java avec les modules qui permettent d’améliorer les performances et la sécurité.
Java 10, sorti en mars 2018, démarre un nouveau cycle de sortie des versions de Java. Il simplifie également la déclaration des variables par la déduction automatique de type.
Java 11, sorti en septembre 2018, est une LTS (Long Term Support) et bouleverse les habitudes par l’aspect commercial lié aux licences Oracle.
Java 12 à Java 15, sont des versions intermédiaires qui préparent la sortie prochaine de Java 17 (LTS) en septembre 2021.
Objectifs
Objectif Opérationnel:
- Connaître les nouveautés apportées par les version de Java 9 et ultérieures.
Objectifs Pédagogiques:
Cette formation “Nouveautés de Java 9 à Java 11” vous apporte les connaissances nécessaires pour:
- Connaître, version après version, quelles sont les nouveautés apportées à la version précédente
- Mettre en pratique les nouveautés les plus importantes.
À qui s’adresse cette formation ?
Public :
Cette formation Nouveautés Java 9 et versions ultérieures s’adresse aux développeurs et chefs de projets maîtrisant déjà les versions antérieures de Java (Java 7 et Java 8).
Prérequis :
Cette formation présente les nouveautés de Java 9 à Java 11 pour un profil maîtrisant déjà le langage Java. Pour suivre cette formation, il est donc indispensable de bien connaître les versions antérieures, Java 7 ou Java 8.
Contenu du cours Nouveautés Java 9 à Java 15
Nouveautés de Java 9
Les modules dans Java 9
Notion de module
Format du descripteur de module
Utilisation des modules
Gestion des dépendances entre modules
Intérêt du module-path
Notions de modules anonymes et modules automatiques
Mise en œuvre de services
Modularité du JDK 9
Nouvelle organisation de la documentation des API Java
Problématique des migrations
Travaux Pratiques :
Découpage d’une application en trois modules
Mise en œuvre de modules anonymes et automatiques
Mise en œuvre de services
Fichiers Jar
Fichiers jar modulaires
Fichiers jar multi-versions
Création d’archives au format Jmod
Déploiement d’applications Java
Rôle du linker Java Jlink
Travaux Pratiques :
Création de fichiers jar modulaires pour servir de librairies
Création de fichiers jar multi-versions pour servir de librairies
Création d’une image exécutable avec Jlink
Autres nouveautés dans Java 9
Exécution de scripts Java avec JShell
Mise à jour de l’API Process
Méthodes privées dans les interfaces
Méthodes de fabrique pour les collections
Nouvelles méthodes dans l’API Stream
Amélioration de l’instruction try-with-resource
Annotation @SafeVarargs
La nouvelle API de StackWalking
L’API VarHandle
Programmation réactive avec l’API Flow
Travaux Pratiques :
Exécution de scripts JShell
Contrôle par une application Java de l’exécution de processus
Échange de messages entre producteur et consommateur via l’API Flow
Nouveautés de Java 10
Nouvelle gestion des versions de Java
Déduction du type des variables locales
Nouvelles méthodes de fabrique pour les collections
Nouvelles méthodes dans la classe Collectors
Nouvelle méthode dans la classe Optional
Nouvelles méthodes dans la classe Objects
Travaux Pratiques :
Mise en œuvre du mot clé var dans une application
Nouveautés de Java 11
Commercialisation du JDK 11 par Oracle
Conséquences du Long Term Support d’Oracle
JDK11 d’Oracle vs Open JDK 11
Utilisation de var dans les lambdas
Standardisation du nouveau client HTTP
Exécution directe d’un fichier source
Suppression des modules JavaFX, Java EE et CORBA
Travaux Pratiques :
Utilisation de var dans quelques expressions lambdas
Mise en œuvre d’un client http
Exécution directe d’un fichier source
Nouveautés de Java 12
Nouvelle syntaxe pour le switch
Amélioration du ramasse-miettes G1
Support de Unicode 11.0.0
Travaux Pratiques :
Mise en œuvre de la nouvelle syntaxe du switch
Nouveautés de Java 13
Amélioration du switch avec yield
Les blocs de texte
Nouvelle implémentation de ServerSocket
Amélioration du ramasse-miettes GZ
Archivage dynamique de classes
Travaux Pratiques :
Mise en œuvre de la nouvelle syntaxe du switch
Mise en œuvre des blocs de texte
Nouveautés de Java 14
Les records
Message lié au NullPointerException
Pattern matching avec instanceof
Outil jpackage
Accès à la mémoire externe via les MemorySegment
Travaux Pratiques :
Mise en œuvre des records
Mise en œuvre des MemorySegments
Nouveautés de Java 15
Les classes sealed
Amélioration des records
Travaux Pratiques :
Mise en œuvre de classes sealed
Travaux Pratiques
Cette formation alterne pratique et théorie pour une meilleure assimilation des connaissances.