Devenez expert backend Java en 4 mois
Étude approfondie de l'architecture interne de la JVM (heap, stack, metaspace, class loading), du fonctionnement du JIT (C1/C2) et des garbage collectors modernes (G1, ZGC, Shenandoah). Tuning avancé avec paramètres GC, optimisation de l'allocation mémoire et gestion de la latence vs throughput. Analyse des performances CPU & mémoire, lecture des GC logs, détection de memory leaks. Diagnostic en production avec Java Flight Recorder, Mission Control, VisualVM, analyse de heap dumps et thread dumps. Travaux pratiques : analyse d’une application lente, optimisation et comparaison avant/après.
Présentation des modèles de concurrence Java : threads classiques, ExecutorService, Fork/Join, CompletableFuture et Virtual Threads (Project Loom). Conception thread‑safe avec immutabilité, synchronisation, lock‑free et CAS. Identification des problèmes en production (deadlocks, race conditions, contention, saturation CPU) et stratégies de scalabilité sur des systèmes multi‑cœurs. Études de cas réels : correction de bugs de concurrence et amélioration mesurable des performances.
Approfondissement de Spring Boot 3+ avec bonnes pratiques avancées, comparaison Spring MVC vs Spring WebFlux et introduction aux frameworks ultra‑performants Quarkus et Micronaut. Conception d’APIs robustes (validation, gestion globale des erreurs, versioning) et sécurisation industrielle (OAuth2, JWT, Spring Security, protection OWASP). Projet pratique : développement d’une API sécurisée, testée sous charge et optimisée pour la latence.
Principes SOLID et Clean Architecture appliqués à Java. Domain‑Driven Design et architecture hexagonale (ports & adapters). Analyse des choix entre monolithe modulaire et micro‑services avec critères de décision, avantages et inconvénients. Patterns avancés : CQRS, Saga, event‑driven, résilience et tolérance aux pannes. Étude de cas : refonte architecturale d’un système existant en appliquant ces concepts.
Mise en place du logging structuré et centralisé, collecte de métriques applicatives avec Prometheus, tracing distribué via OpenTelemetry. Gestion des incidents en production, stratégies de résilience et de récupération. Introduction aux concepts des systèmes distribués (cohérence, partitionnement, CAP). Simulation d’un incident de production avec résolution guidée et mise en place d’un tableau de bord d’observabilité complet.