Formation ‘nouveautés Java 8 et 9’ : Modules, Lambdas , Streams , Optional

//Formation ‘nouveautés Java 8 et 9’ : Modules, Lambdas , Streams , Optional

java-9.jpgConçue par Douglas MBIANDOU, cette formation vous permettra d’appréhender par la pratique les nouveautés des version 8 et 9 de Java, avec un focus sur les technologies caractéristiques de java 8 (expressions lambdas , Streams, Optional) et la nouvelle approche de la modularité spécifique à java 9 .

Notre + : les notions sont mises en oeuvre dans le contexte d’une application Java SE ou Java EE en couche : présentation + domaine + Service + Dao mettant en oeuvre les fraeworks Spring et Hibernate.

Objectifs pédagogiques

Utiliser le nouveau système de Modules Java 9

Migrer de votre code vers Java 9

Utiliser les expressions lambda

Utiliser les Streams et les ParallelStreams

Utiliser les Streams avec les Expressions Lambdas

Utiliser les opérateurs -> (lambda) et :: (référence de méthode)

Exploiter les possibilités de la programmation fonctionnelle

Connaître la nouvelle API de gestion des dates et du temps

Communiquer avec du code Javascript

Travailler avec le Optional pour limiter NullPointerException

Travaux pratiques (70%)

Des exercices et travaux pratiques permettront de mettre en oeuvre les concepts abordés.

Participants

Concepteurs, développeurs, responsables de projets Java.

Prérequis

Pratique du développement Java, connaissance de Java 5, 6 ou 7

Durée

4 jours

Dates 2018

13-16 février (Paris)

20-23 février (Lyon)

6-9 mars (Abidjan)

27-30 mars (Paris)

10-13 avril (Dakar)

5-8 juin (Paris)

12-15 juin (Lyon)

26-29 juin (Douala)

16-19 oct (Paris)

23-26 oct (Lyon)

20-23 nov (Casa)

Tarifs

1990 HT par personne

Pour les formation ‘intra’ (dans votre entreprise) , nous contacter.

PROGRAMME DETAILLE FORMATION

Synthèse des nouveautés de Java 8 et 9

Encapsulation de packages Java 9 : les Modules

Migration de votre code vers Java 9

Les expressions lambda.

Méthodes par défaut des interfaces

Comprendre les interfaces fonctionnelles

Manipuler des collection avec les streams.

La nouvelle API de gestion des dates et des heures.

La possibilité d’exécuter du code JavaScript avec Java 8 Nashorn.

Introduction Système de Module Java 9

L’importance des Modules

Modularité du JDK 9

Chantier historique : compact1 à 4

Travailler avec des modules

Les services Java 9

Bonnes pratiques (Patterns)

fichier module.info

Migration vers Java 9

Migration sans le système de Modules

Migration vers les Modules

Migrer vos applications Spring / Hibernate

Migrez vos Libraries

Outil : jdeps

Les expressions lambda

Améliorer la concision, lisibilité du code

Classe anonyme imbriquée

L’opérateur Lambda ->

Interface fonctionnelle

Manipuler des collections

API java.util.function.

Mise en oeuvre dans une couche Service et Dao

Les Streams

Nouveau : java.util.Stream, java.util.ParallelStream

Créer un Stream à partir d’une collection Java

Différence entre collection et Stream

Source, fonction intermédiaire, fonction terminale

fonction intermédiaires : filter(), sort(), distinct()

fonctions terminales : collect(), count, foreach()

Mise en oeuvre dans une couche Dao

Les Streams Parralles

Exploiter tous les processeurs de votre machine

Rappel sur le framework Fork/join

Personnaliser le découpage avec Spliterator

Comparaison de performance

recommandation : Benchmark systématique !

Mise en oeuvre dans une couche Service

Le conteneur ‘Optional’

Marre des NullPointerException !

Du code plus propre, plus lisible , plus maintenable

of : Créer un Optional à partir d’un objet existant non null

ofNullable : Créer un Optional à partir d’un objet existant potentiellement null

Récupérer le contenu : get(), map()…

Refactoring de code

Mise en oeuvre dans une couche Dao

Intégration Java / Javascript

Nashorm, le moteur ECMAScript-262 de Java 8.

Appeler une méthode Javascript à partir de Java

La méthode eval() du moteur

Appeler un script Javascript (.js) externe

Utilisation de la ligne de commande jjs.

Appeler du code Java depuis un script JavaScript.

Mise en oeuvre dans une couche Service

Nouvelle API Date et Time

Le problème de GregorianCalendar,

L’alternative JodaTime

La JSR 310.

java.time.Instant et java.time.Duration.

java.time.LocalDate, java.time.LocalTime, java.time.LocalDateTime.

Mise en oeuvre dans une couche Service

Multithread

L’API Concurrent : les Executor

Les différents types d’Executor

Interfaces Runnable, Future, Callable

Expressions Lambda et Multithread

Nouveautés Java 8 : ComposableFuture

Orchestrer vos taches asynchrones !

Pools de threads

Mise en oeuvre dans une couche Service

2018-01-24T08:36:43+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java