Cours
Digicomp Code JAV817
Java - Nouveautés des versions 8 à 17 («JAV817»)
Dans cette formation de 3 jours, vous explorerez les nouveautés apportées par les versions 8 à 17 de Java.
Durée
3 jours
Prix
2'025.–
excl. 8.1% TVA
Documents
Support de cours numérique
Description de la formation
- Exploiter les principaux apports des versions de la Java Development Kit (JDK) 8 à 16
- Exploiter des lambda expressions en passant par les streams et l'API DateTime
- Gérer des modules en passant par les étapes d'une migration réussie
- Reconnaître les améliorations apportées au langage au fil des versions
- Utiliser les bases du langage Java avec une meilleure productivité
- Rappels des apports en programmation concurrente (JDK 7 et plus)
- Le package java.util.concurrent
- Les facilités apportées pour le multi-threading et la programmation parallèle
- Le Fork and Join
- Les lambda en Java (JDK 8 et plus)
- S'approcher de lambda sans Java 8
- Les lambda expressions
- Les interfaces fonctionnelles
- Liste des interfaces fonctionnelles
- Paramètres d'une lambda expression
- Cas d'utilisation des lambda expressions
- Les références de méthode dans les lambda expressions
- Les streams (JDK 8 et plus)
- Présentation générale des streams
- Créer des streams
- Opérations intermédiaires sur les streams
- Opérations terminales
- L'API DateTime (JDK 8 et plus)
- Classes importantes de DateTime
- Utilisation de DateTime
- Le système de modules (JDK 9 et plus)
- Architecture et modularité dans le JDK 9
- La déclaration des modules
- Requires
- Exports
- Uses
- Provides
- With
- Opens
- Les mots réservés
- Exemples des classes d'applications modularisées
- Le fichier module-info.java
- Le graphe de dépendances
- Lancer une application à partir des modules
- Le packaging des modules et les JAR
- Exporter un package pour l'utiliser ailleurs
- Encapsulation forte et accessibilité
- JShell (JDK 9 et plus)
- Introduction à JShell
- Exécuter et tester du code à la volée
- L'API Optional (JDK 9 et plus)
- Les méthodes
- or()
- ifPresent()
- ifPresentOrElse()
- stream()
- Les méthodes
- L'API Process (JDK 9 et plus)
- Gestion des process lancés
- L'interface ProcessHandle
- Autres apports de la JDK 9
- Améliorations des streams Java 8
- L'API HTTP 2
- Nouvelles collections
- Les Reactive Streams, les streams asynchrones
- Méthodes privées d'interface
- L'API CompletableFuture
- Apports de la JDK 10
- Inférence de type de variables locales
- Améliorations dans les API existantes
- Apports de la JDK 11
- Inférences de type pour les lambda expressions
- Simplification des "run" de programmes
- Améliorations dans les classes String, StringBuilder et StringBuffer
- Améliorations des Predicate Java 8
- Classes imbriquées et visibilité des attributs
- Suppression des modules JEE, JavaJX et CORBA
- Apports de la JDK 12 et 13
- Le switch comme instruction
- Les blocs de texte
- Le mot-clé "yield"
- Les outils apportés par la JDK 12
- Apports de la JDK 14
- Changements dans les switch
- Clarifications du NullPointerException
- Le Live Monitoring
- Changements dans le "instanceof"
- Nouveaux outils associés à la JDK 14
- Apports de la JDK 15
- Les classes "Sealed"
- Fonctionnalités dépréciées
- Apports de la JDK 16
- L'outil "jpackage"
- Apports de la JDK 17
- Apports de la LTS 17