Formation Java 8 : Nouveautés de Java 8
2 JoursObjectifs de la formation Java 8
Java 8 a apporté des améliorations significatives au langage. Vous découvrirez les expressions lambda et exploiterez les possibilités de la programmation fonctionnelle. Vous apprendrez à faire interagir du code JavaScript avec du code Java et découvrirez de nouvelles API.
Plus concrètement, cette formation sur les nouveautés Java 8 vous apportera les connaissances et compétences nécessaires pour:
- S’intéresser aux principes de la programmation fonctionnelle
- Maîtriser les expressions lambda et les références de méthodes
- Mettre en œuvre les Streams pour manipuler des flux de données
- Utiliser les méthodes par défaut des interfaces
- Comprendre la nouvelle API Date&Time (JSR 310)
À qui s’adresse cette formation ?
Public :
Cette formation Java 8 s’adresse aux développeurs et aux chefs de projet
Prérequis :
Bonne maîtrise de Java 6 ou 7.
Contenu du cours Java 8
Interfaces Java 8
Méthodes par défaut
Méthodes statiques
Implémentation d’interfaces Java 8
Travaux pratiques
Mise en œuvre d’interfaces Java 8
Expressions Lambda, références de méthodes
Comprendre les principes de la programmation fonctionnelle
Syntaxe des classes internes anonymes
Notion d’interface fonctionnelle
Anatomie d’une Expression Lambda
Simplifier les expressions lambdas avec les références de méthodes
Mise en œuvre des interfaces fonctionnelles : Consumer, Supplier, Predicate, Function
Travaux pratiques
Remplacement de classes internes anonymes par des expressions lambda
Mise en œuvre d’interfaces fonctionnelles de la bibliothèque
Simplification d’expressions lambdas par des références de méthodes
Mise en œuvre de l’API Stream pour la manipulation des flux de données
Objectif de l’API Stream
Obtention et sortie d’un stream
Opérations intermédiaires et terminales
Mise en œuvre des méthodes forEach, map, filter, findFirst
Principe de l’évaluation paresseuse
Intérêt de la la classe Optional
Réduction avec reduce et collect
Interface Collector et classe Collectors
Autres méthodes : limit, skip, sorted, min, max, distinct, allMatch, anyMatch, noneMatch, count
Streams parallèles, précautions d’usage
Travaux pratiques
Utilisation de nombreux streams séquentiels sur tableaux et collections
Mise en œuvre de streams parallèles
Comparaison de performances entre streams séquentiels et parallèles
Nouvelle API Date et Time (JSR 310) de Java 8
La gestion du temps « classique » et sa lourdeur de manipulation en Java (jour, mois, année, heure, minutes, secondes)
Les concepts de temps machine et temps humain avec la nouvelle API.
La gestion du temps machine avec java.time.Instant et java.time.Duration.
Le temps humain avec java.time.LocalDate, java.time.LocalTime, java.time.LocalDateTime.
Travaux pratiques
Utilisation de la nouvelle API de gestion des dates et temps pour manipuler un calendrier (recherche de jour selon des critères fins).
Analyse de chaînes de caractères pour conversion en dates
Calcul différentiel sur le temps (heure/minutes/secondes)
JavaScript et Nashorn
Présentation de Nashorn, le moteur d’exécution de code JavaScript
Exécution de code Javascript avec jjs
Exécution de code Javascript depuis Java
Exécution de code Java depuis JavaScript
Travaux pratiques
Démonstration de l’exécution de code JavaScript
Améliorations des API et autres nouveautés Java 8
Les nouveautés du client riche JavaFX
Les évolutions de l’API JDBC
Déploiement d’applications avec les profils compacts
Travaux pratiques
Analyse d’une IHM JavaFX en tout Java
Analyse d’une IHM JavaFX avec vues en FXML
Travaux Pratiques
Cette formation alterne pratique et théorie pour une meilleure assimilation des connaissances.