Formation en Développement: Java 21 : développer des applications modernes et performantes - Ascent Formation
Retour aux formations
Développement

Formation Java 21 : développer des applications modernes et performantes

5 jour(s) • 35h
Éligible OPCO
8,8/10 avis apprenants

Description

Cette formation vise à approfondir les connaissances des participants sur Java 21, en mettant l'accent sur les nouvelles fonctionnalités, les améliorations de performance et les meilleures pratiques de développement. Les participants acquerront les compétences nécessaires pour développer des applications Java modernes et efficaces.

  • Comprendre les nouvelles fonctionnalités et les améliorations de Java 21 (avec une rétrospective depuis Java 7)
  • Maîtriser la programmation concurrente avancée et la manipulation de données réactives
  • Savoir déployer, gérer et optimiser des applications Java 21 pour des performances optimales

  • Développeurs Java expérimentés

  • Solide expérience en programmation Java
  • Connaissance de base des concepts de programmation concurrente

  1. 1

    Rappel Java (7h)

    • Rappel des bases : syntaxe, classes, objets, interfaces
    • APIs standards de Java (Collections, I/O, NIO, etc.)
    • Introduction aux lambdas et à la programmation fonctionnelle (Java 8)
    • Travaux pratiques : Exercices de base et utilisation des lambdas
    • Manipulation des streams avec l'API Stream
    • Gestion des exceptions, Optionals et bonnes pratiques
    • Travaux pratiques : Utilisation des Streams pour la manipulation de données
  2. 2

    Nouveautés de Java 8 à Java 12 (3h30)

    • Introduction aux nouveautés : lambda expressions, Streams API, interfaces par défaut (Java 8)
    • Modularité avec Project Jigsaw (Java 9)
    • Utilisation de var pour l'inférence de type local (Java 10)
    • Introduction aux Switch expressions (Java 12)
    • Travaux pratiques : Intégration de ces nouveautés dans des exemples concrets
  3. 3

    Nouveautés de Java 13 à Java 21 (3h30)

    • Introduction aux Text blocks (Java 13)
    • Utilisation des Records (Java 16) et Pattern Matching for instanceof (Java 16)
    • Conception de classes scellées (Java 17)
    • Pattern Matching for switch stabilisé (Java 21)
    • Record Patterns (Java 21) : déconstruction des records
    • Sequenced Collections (Java 21) : SequencedCollection, SequencedSet, SequencedMap
    • Travaux pratiques : Utilisation conjointe des records, record patterns et pattern matching switch dans un cas métier
  4. 4

    Programmation Java avancée (7h)

    • Généricité avancée et manipulation des collections
    • Utilisation avancée des classes immuables et des records
    • Lambda expressions avancées et parallélisme dans les flux
    • Travaux pratiques : Implémentation des fonctionnalités avancées dans un projet modulaire
    • Conception avec les classes scellées (sealed classes)
    • Utilisation avancée des Streams API pour le traitement parallèle
    • Modélisation métier "data-oriented" avec sealed classes, records et pattern matching (approche Java 21)
    • Travaux pratiques : Création d'une architecture modulaire avec classes scellées, records et record patterns
  5. 5

    Programmation concurrente et réactive (7h)

    • Introduction à la programmation concurrente avec CompletableFuture (Java 9+)
    • Gestion des tâches asynchrones et parallélisation
    • Virtual Threads (Java 21) : modèle platform threads vs virtual threads, API Thread.ofVirtual() et Executors.newVirtualThreadPerTaskExecutor()
    • Virtual Threads : cas d'usage (serveurs I/O-bound, requêtes bloquantes massivement parallèles), pièges (synchronized et pinning, ThreadLocal)
    • Structured Concurrency (Java 21, preview) : StructuredTaskScope, gestion d'erreurs et d'annulation structurée
    • Travaux pratiques : Développement d'une application avec CompletableFuture, puis transformation vers Virtual Threads et comparaison de comportement
    • Introduction aux flux réactifs (java.util.concurrent.Flow) et positionnement face aux Virtual Threads
    • Debugging et optimisation des applications concurrentes
    • Travaux pratiques : Illustration de Structured Concurrency sur un cas asynchrone
  6. 6

    Projet final (7h)

    • Conception du projet : architecture modulaire
    • Intégration des nouveautés Java 21 dans le projet (records, pattern matching switch, record patterns, sealed classes)
    • Travaux pratiques : Développement de la première partie de l'application complète (modules, gestion des données)
    • Intégration des Virtual Threads dans le projet
    • Gestion de la performance et des threads
    • Introduction au profiling avec Java Flight Recorder (JFR) et JDK Mission Control (JMC)
    • Generational ZGC (Java 21) : évolution du garbage collector bas-latence
    • Travaux pratiques : Finalisation du projet complet avec tests, débogage et optimisations via JFR

Ils nous font Confiance

Nos partenaires de confiance

Ministère des armées
Thalès
Dassault Systèmes
Ariane Group
EDF
SNCF
Orange Cyberdefense
Total
Société Générale
Ministère de l'Intérieur
Boston Consulting Group
Crédit Agricole
Capgemini
Sopra Steria
Ministère de l'économie
Bouygues Télécom
Devoteam
Imprimerie Nationale
Business France
Ordre National des Pharmaciens
Abeille Assurances
Macif
Service Public Fédéral Finances
ANFH
Bruxelles Formation
Atlas OPCO
Uniformation
Adeo
Positive Thinking Company
Sogelink
Septeo
HN Services
Infotel
Ercom
Neosoft
Klaxoon
Asus
Linkvalue
Suneris
Datadocké

Questions fréquentes

FAQ : Formation Java 21 : développer des applications modernes et performantes

  • Oui, mais la prise en charge d'une formation professionnelle par un OPCO dépend de votre opérateur de compétences, de votre branche d'activité et des critères de financement applicables. Ascent Formation vous accompagne dans l'identification des possibilités de financement adaptées à votre entreprise.

  • Une formation inter-entreprises réunit des participants issus de différentes organisations, tandis qu'une formation intra-entreprise est organisée pour les collaborateurs d'une même entreprise. Le format intra permet notamment d'adapter le contenu et les modalités aux besoins spécifiques de vos équipes.

  • Selon la formation proposée, il est possible de suivre une formation professionnelle à distance, en présentiel ou selon d'autres modalités disponibles. Consultez les informations de la session concernée ou contactez-nous pour connaître les formats possibles.

  • Oui, une formation professionnelle peut être adaptée aux objectifs, au niveau des participants et aux besoins opérationnels de votre entreprise. Ascent Formation vous propose des parcours personnalisés pour accompagner le développement des compétences de vos équipes.