Qualiopi

Java Expert : Des Fondamentaux aux Fonctionnalités Avancées (JDK 24)

Devenez expert Java : maîtrisez la syntaxe, la programmation réactive, l'IoC avec Spring, et les dernières nouveautés du JDK 24 pour des applications robustes.

5 jours
3 500 € HT
Java 24
JVM
Maven
Git
JUnit 5
Mockito
JavaFX

Intéressé par cette formation ?

Contactez-nous pour planifier une session.

Demander un devis

Objectifs pédagogiques

  • Exploiter les dernières fonctionnalités du JDK (Records, Pattern Matching, Java 24).
  • Concevoir des traitements de données complexes avec les Streams et Lambdas.
  • Optimiser les performances d'une application via la gestion fine de la JVM et des threads virtuels.
  • Garantir la qualité du code par les tests unitaires et le mocking.
  • Architecture des applications découplées grâce aux principes d'IoC et d'AOP.

Programme

Jour 1 : Fondamentaux Modernes et Architecture

  • Introduction : Architecture de la JVM (HotSpot), compilation JIT, portabilité et gestion de la mémoire (Garbage Collector).
  • Le Langage : Typage fort, structures de contrôle, héritage, interfaces (méthodes par défaut/statiques).
  • Nouveautés de syntaxe (JDK 8 à 24) : Records, Sealed Classes, Pattern Matching, Text Blocks et String Templates.
  • Atelier : Configuration de l'environnement (Java 24, IntelliJ) et premiers exercices de refactoring vers du code moderne.

Jour 2 : Programmation Fonctionnelle et API Standard

  • Le tournant fonctionnel : Expressions Lambdas, références de méthodes et interfaces fonctionnelles.
  • API Stream : Manipulation de flux de données, filtrage, transformation et agrégation.
  • Écosystème : Le Framework Collections en profondeur et la gestion des exceptions (Checked vs Unchecked).
  • Modularité : Introduction au système de modules (Jigsaw).

Jour 3 : Concurrence, Performance et Programmation Réactive

  • Gestion des Threads : Threads natifs, mécanismes de synchronisation (Locks, Mutex).
  • Project Loom : Révolution des Threads Virtuels (Virtual Threads) pour la haute scalabilité.
  • Programmation Réactive : Concepts fondamentaux et mise en œuvre des Reactive Streams.
  • Optimisation : Options de la JVM (Xms, Xmx, Xss) et profilage de performance.

Jour 4 : Qualité Logicielle et Tests Automatisés

  • Tests Unitaires : Maîtrise de JUnit 5 (Cycle de vie, assertions, tests paramétrés).
  • Doublures de tests : Utilisation intensive de Mockito pour l'isolation des composants.
  • Robustesse : Bonnes pratiques de conception, lisibilité et maintenabilité du code.
  • Atelier : Mise en place d'une suite de tests complète sur une application métier.

Jour 5 : Frameworks d'Entreprise et Persistance

  • Injection de Dépendances (IoC) : Principes et mise en œuvre pour le découplage.
  • Programmation par Aspect (AOP) : Gérer les problématiques transverses (logs, sécurité).
  • Persistance de données : Mapping Objet-Relationnel (ORM) avec JPA et Hibernate.
  • Ouverture : Introduction à JavaFX pour les interfaces riches et panorama de l'écosystème (Spring, Quarkus).

Prérequis

  • Connaissance préalable de l'algorithmique.
  • Pratique d'un langage de programmation (C, C++, Python ou une version ancienne de Java).
  • Ordinateur avec Java 24 SDK, IntelliJ IDEA et Git installés.

Public cible

  • Développeurs IT souhaitant monter en compétence sur les versions récentes de Java.
  • Ingénieurs Logiciel cherchant à maîtriser les enjeux de performance et de concurrence moderne.

Prêt à vous former ?

Contactez-nous pour obtenir un devis personnalisé.