Formation nouveautés Java 8

Java, nouveautés du JDK 8

La version 8 de Java a apporté pas mal de modifications, que ce soit au niveau de la syntaxe (expressions lambda) que des APIs (Stream, Dates,…​). Cela permet de développer avec un code plus propre et plus lisible, à condition de bien intégrer les nouveaux paradigmes.

Dans cette formation, vous passerez en revue de façon pratique toutes ces nouveautés. Sewatech propose une formation plus approfondies sur la programmation avec les expressions lambda.

Informations pratiques

Durée 2 jours
Format Présentiel / Distanciel
Participants 8 personnes max
Certificat Attestation de formation

Public cible

Prérequis

Prérequis obligatoires

  • Pratique courante du langage Java dans une version antérieure

Environnement technique

Outils de développement

Configuration système

Programme détaillé

Introduction

  • Historique de Java

  • Dernière version avant le nouveau mode de release

  • Distribution(s) du JDK, gratuites ou payantes

  • Principales nouveautés du JDK 8 et des suivants

Expressions lambda

  • Formes de lambda

    • Sans paramètre, avec un ou plusieurs paramètres

    • Inférence de type

    • Mono-instruction ou bloc

    • Référence de méthode

  • Utilisation de lambda

    • Comme paramètre de méthode

    • Dans une variable locale

    • Variables eventually final

Interfaces fonctionnelles et API

  • Utilisation avec les méthodes existantes

  • Nouvelles méthodes et nouveux types, conçues pour les expressions lambda

    • Exemple de java.util.Comparator

    • Evolution des API de collection

  • Interface fonctionnelle

    • Nouvelles interfaces du package java.util.function

    • Création d’interfaces fonctionnelles

  • Évolution de la notion d’interface : méthodes par défaut

  • Impact sur l’héritage

Collections et streams

  • Nouvelles méthodes fonctionnelles de l’API de collections

  • Interface Stream et utilisation avec les collections

  • Fabriques de stream

  • Opérations de Stream

Optional

  • Définition

  • Builders, pour instancier des objets optionnels

  • Utilisation d'`Optional` comme un type de conteneur

  • Correspondances entre Optional et Stream

Date & Time

  • java.util.Date, avantages et (surtout) inconvénients

  • Alternative avec Joda Time

  • Date and Time API

    • Notion d’instant

    • Date et heure locales

    • Durée et période

  • Date et heure avec fuseau horaire

    • Par zone ou par décalage

  • Mise en forme des dates et heures

Autres améliorations d’APIs

  • java.lang.String

    • Concaténation de chaînes

    • Expressions régulières

  • java.util.Comparator

  • Encodage en Base64 et décodage

  • Entrées / sorties

    • Amélioration de java.nio.file.Files

  • Tableaux

    • Nouvelles méthodes de java.util.Arrays

  • Programmation concurrente

    • Types atomiques

  • Programmation réactive

    • CompletableFuture

Objectifs et résultats attendus

Compétences acquises

Livrables formation

  • Code source de tous les travaux pratiques
  • Projet final complet et fonctionnel
  • Slides de formation en PDF
  • Notes techniques
  • Ressources et liens utiles

Prêt à maîtriser ?

Contactez-moi pour organiser cette formation pour votre équipe ou vous inscrire à la prochaine session.

Formation disponible en présentiel ou en distanciel.
Adaptation du contenu possible selon vos besoins spécifiques.