Java - Nouveautés des versions 8 à 13
Objectifs
- Reconnaître les améliorations apportées au langage du V8 à V13
- Exploiter les principaux apports des versions de la Java Development Kit (JDK)
- Comprendre le système de modules apparu en Java 9
- Apprendre à utiliser JShell / REPL pour tester votre code
Programme Détaillé
Cette formation s'adresse aux développeurs, architectes et chefs de projets techniques.
Les interfaces
- Les méthodes par défaut et static
Les classes Value-Based
Les expressions Lambda
- La syntaxe
- Les interfaces fonctionnelles
- Le package java.util.Function
- Les références de méthodes
- La capture de variables
La classe Optional
L’API Stream
- Obtenir un Stream
- Les opérations
- Les opérations intermédiaires
- Les opérations terminales
- La classe Collectors
- Les Stream parallèles
Date and Time API
- L’API Date & Time
- Des classes dédiées
- Des opérations consistantes
- La représentation machine
- La représentation humaine
- Les classes TimeZone et Offset
- Des constantes et énumérations
- L’interface TemporalAdjuster
- La classe abstraite Clock
- Le formatage et le parsing
- L’intégration avec le code existant
Les classes Value-Based
Les expressions Lambda
- La syntaxe
- Les interfaces fonctionnelles
- Le package java.util.Function
- Les références de méthodes
- La capture de variables
La classe Optional
L’API Stream
- Obtenir un Stream
- Les opérations
- Les opérations intermédiaires
- Les opérations terminales
- La classe Collectors
- Les Stream parallèles
Date and Time API
- L’API Date & Time
- Des classes dédiées
- Des opérations consistantes
- La représentation machine
- La représentation humaine
- Les classes TimeZone et Offset
- Des constantes et énumérations
- L’interface TemporalAdjuster
- La classe abstraite Clock
- Le formatage et le parsing
- L’intégration avec le code existant
Collections
- Comparator
- Iterable.forEach()
- Collection.removeIf()
- List.replaceAll()
- List.sort()
- Map
Traitement parallèle sur des tableaux
- Initialiser les éléments
- Trier les éléments
Gestion de la concurrence
- Adder et Accumulator
- StampedLock
- ConcurrentHashMap
La concaténation de chaînes
Les annotations
- Java Type Annotations
- Repeating Annotations
- Iterable.forEach()
- Collection.removeIf()
- List.replaceAll()
- List.sort()
- Map
Traitement parallèle sur des tableaux
- Initialiser les éléments
- Trier les éléments
Gestion de la concurrence
- Adder et Accumulator
- StampedLock
- ConcurrentHashMap
La concaténation de chaînes
Les annotations
- Java Type Annotations
- Repeating Annotations
A partir de Java 9
Shell
- Présentation
- Utilisation
- Les fonctionnalités avancées
Les modules
- La modularité
- Le système de modules de Java
- Le descripteur de modules
- La visibilité entre modules
- Les dépendances
- L’accès par introspection aux modules
- Le ModulePath
- Le packaging des modules
- Les différents types de modules
- La modularisation du JDK
- Les versions des modules
Migration
- Les difficultés de migration à Java 9+
- La préparation à Java 9+
- La migration sans créer de modules
- La migration avec création de modules
- La migration de bibliothèques
Autres évolutions
- Présentation
- Utilisation
- Les fonctionnalités avancées
Les modules
- La modularité
- Le système de modules de Java
- Le descripteur de modules
- La visibilité entre modules
- Les dépendances
- L’accès par introspection aux modules
- Le ModulePath
- Le packaging des modules
- Les différents types de modules
- La modularisation du JDK
- Les versions des modules
Migration
- Les difficultés de migration à Java 9+
- La préparation à Java 9+
- La migration sans créer de modules
- La migration avec création de modules
- La migration de bibliothèques
Autres évolutions
avoir de bonnes connaissances pratiques du langage Java.
consultant expert en Java