Objectifs de la formation
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 ?
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.
Programme
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
Description 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.
Travaux Pratiques
Cette formation alterne pratique et théorie pour une meilleure assimilation des connaissances.
Thèmes : Java