Java 8, découvrir par la pratique les nouveautés
Objectifs de la formation
Utiliser les expressions lambda
Exploiter les possibilités de la programmation fonctionnelle
Utiliser des codes JavaScript depuis Java 8
Connaître la nouvelle API de gestion des dates et du temps
Contenu du cours
» Synthèse des nouveautés de Java 8
Vue d'ensemble des ajouts : 195 nouvelles entités (classes, interfaces...).
Les expressions lambda.
Ecrire du code SQL dans un code Java 8.
Les implémentations par défaut des interfaces et @FunctionalInterface, les nouvelles annotations.
Les évolutions des streams.
La nouvelle API de gestion des dates et des heures.
Les évolutions d'API de java.lang, java.util, java.net...
La possibilité d'exécuter du code JavaScript avec Java 8 Nashorn.
Travaux pratiques
Vérification de l'installation du JDK 8 (outils, javadoc...).
» Les expressions lambda
Notion de classe anonyme imbriquée, améliorations apportées par le concept d'expression lambda.
Les aspects syntaxiques (déclaration, implémentation, passage de paramètres, portée des variables...).
Le concept de "foncteur" à travers les interfaces "fonctionnelles" et le package java.util.function.
Utiliser les lambda-expressions pour manipuler les collections.
Apports dans l'écriture de code SQL Les Listeners...
Travaux pratiques
Découverte des lambda-expressions.
» La programmation fonctionnelle avancée
L'usage de @FunctionalInterface.
Les interfaces fonctionnelles fournies par le JDK 8.
Predicate, Function, Supplier, Consuler...
Références aux méthodes et aux constructeurs.
Travaux pratiques
Mise en oeuvre d'aspects avancés.
» Java 8 Nashorn
Du JavaScript au sein de Java ? De Rhino présent en Java 7 à Oracle Nashorn, moteur ECMAScript-262 de Java 8.
Utilisation de la ligne de commande jjs.
Appeler du code JavaScript depuis une application Java, soit directement soit à l'aide d'un fichier séparé .js.
Appeler du code Java depuis un script JavaScript.
Travaux pratiques
Appels de JavaScript depuis Java.
» Nouvelle API Date et Time
Les difficultés engendrées par les API de Date et GregorianCalendar, l'alternative JodaTime et la JSR 310.
Les concepts de temps machine et temps humain, les principes de base de 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.