Sewatech - formations

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.

Programme du cours

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


Cette formation peut être réalisée à distance ou dans vos locaux en France et Suisse Romande.

Cette formation a été élaborée par Alexis Hassler.