Java — Nouveautés des versions 8 à 25
Réf. JAV-NEWIntermédiaire

Java — Nouveautés des versions 8 à 25

Panorama des évolutions du langage depuis dix ans

0(0)
3J

À qui s'adresse cette formation ?

Développeurs, architectes et chefs de projets techniques

Pré-requis

  • Avoir suivi une formation Java fondamentaux, ou disposer d'une pratique du langage

Ce que vous allez apprendre

Exploiter les principaux apports des versions de la Java Development Kit (JDK) 8 à 25
Exploiter des lambda expressions en passant par les streams et l'API DateTime
Gérer des modules en passant par les étapes d'une migration réussie
Reconnaître les améliorations apportées au langage au fil des versions
Utiliser les bases du langage Java avec une meilleure productivité

Programme de la formation

Avant votre formation

Préparation et positionnement

  • Analyse de vos besoins et de vos objectifs personnels
  • Positionnement initial par rapport aux prérequis
  • Accès à l'espace apprenant pour préparer votre venue
Pendant votre formation

Formation animée par nos experts

Le package java.util.concurrent
Les facilités apportées pour le multi-threading et la programmation parallèle
Le Fork and Join
Travaux pratiques : Mise en œuvre d'un programme utilisant le pattern Fork and Join
S'approcher de lambda sans Java 8
Les lambda expressions
Les interfaces fonctionnelles
Liste des interfaces fonctionnelles
Paramètres d'une lambda expression
Cas d'utilisation des lambda expressions
Les références de méthode dans les lambda expressions
Travaux pratiques : Création d'un nouveau projet
Utilisation des interfaces fonctionnelles fournies et créées
Utilisation des lambda expressions sous différentes formes
Simplification de la programmation avec les lambda
Présentation générale des streams
Créer des streams
Opérations intermédiaires sur les streams
Opérations terminales
Travaux pratiques : Création d'un nouveau projet
Application de la gestion des streams à des flux de données fournis
Opérations de création, intermédiaires et finales
Classes importantes de DateTime
Utilisation de DateTime
Travaux pratiques : Exploitation de l'API DateTime
Introduction à JShell
Exécuter et tester du code à la volée
Travaux pratiques : Utilisation de l'outil JShell
Les méthodes : or(), ifPresent(), ifPresentOrElse(), stream()
Travaux pratiques : Exploitation de l'API Optional afin de gérer les références nulles
Gestion des process lancés
L'interface ProcessHandle
Travaux pratiques : Création d'un outil d'administration des process lancés
Améliorations des streams Java 8
L'API HTTP 2
Nouvelles collections
Les Reactive Streams, les streams asynchrones
Méthodes privées d'interface
L'API CompletableFuture
Travaux pratiques : Utilisation des Reactive Streams
Inférence de type de variables locales
Améliorations dans les API existantes
Inférences de type pour les lambda expressions
Simplification des "run" de programmes
Améliorations dans les classes String, StringBuilder et StringBuffer
Améliorations des Predicate Java 8
Classes imbriquées et visibilité des attributs
Suppression des modules JEE, JavaFX et CORBA
Travaux pratiques : Test des fonctionnalités apportées par la JDK 11
Le switch comme instruction
Les blocs de texte
Le mot-clé "yield"
Les outils apportés par la JDK 12
Travaux pratiques : Test des fonctionnalités apportées par les JDK 12 et 13
Changements dans les switch
Clarifications du NullPointerException
Le Live Monitoring
Changements dans le "instanceof"
Nouveaux outils associés à la JDK 14
Les classes "Sealed"
Fonctionnalités dépréciées
L'outil "jpackage"
Interfaces "Sealed"
Les Records Travaux pratiques : Test des fonctionnalités apportées par les JDK 14 à 17
Le Simple Web Server
Les projets Amber, Panama, Loom, Valhalla, Leyden
Les threads virtuels pour l'optimisation des ressources
L'interface Thread.Builder et la méthode VirtualThreadStart
La Structured Concurrency
Amélioration du switch
Les Record Patterns et la déconstruction
Les Foreign Functions et Memory API
Accès aux données Off-Heap
L'API Vector
Modifications dans HashMap et HashSet
Les unnamed variables et patterns
Les classes déclarées implicitement
Modifications dans l'appel de l'instruction "super"
Le lancement de programmes multi source sans compilation
Pattern Matching for switch
Markdown Javadoc
Stream Gatherers, Class-File API (final)
Cryptographie post-quantique - ML-KEM, ML-DSA
Compact Source Files et Instance Main Methods (JEP 512)
Module Import Declarations
Flexible Constructor Bodies
Scoped Values • PEM Encodings of Cryptographic Objects
JFR Cooperative Sampling
Travaux pratiques : Test des fonctionnalités apportées depuis les JDK 18 à 25
Après votre formation

Accompagnement et mise en pratique

  • Accompagnement personnalisé post-formation
  • Attestation de fin de formation
  • Accès aux ressources complémentaires

Besoin du programme complet ?

Téléchargez le programme détaillé de cette formation : objectifs, modules, planning et modalités pédagogiques.

Modalités, méthodes et moyens pédagogiques

Formation délivrée en présentiel ou à distance (classe virtuelle, présentiel à distance).

Le formateur alterne entre méthode démonstrative, interrogative et active, via des travaux pratiques et des mises en situation.

Moyens pédagogiques mis en œuvre : ordinateurs, connexion internet, supports de cours et exercices, environnements de formation installés sur les postes de travail ou accessibles en ligne.

Modalités d'évaluation des acquis

  • En cours de formation, par des études de cas ou des travaux pratiques
  • En fin de formation, par un questionnaire d'auto-évaluation

Accessibilité de la formation

ZiryabTec Académie s'engage à faciliter l'accessibilité de ses formations aux personnes en situation de handicap. Contactez-nous pour étudier ensemble les adaptations nécessaires à votre situation.

Modalités et délais d'accès à la formation

Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation, sous réserve de places disponibles.

Formations similaires

Types de session

Formation avec d'autres professionnels