Public visé
Développeurs, architectes et chefs de projets techniques.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Distinguer les aspects avancés du langage Java
- Appliquer les frameworks et bibliothèques majeurs
- Reconnaître le modèle de sécurité Java
- Implémenter le traitement parallèle et la gestion des accès concurrents
- Tester, déboguer et optimiser des applications
Programme
Jour 1 - Matin
Programmation concurrente
- Multi-threading (Runnable, Thread)
- Synchronisation et moniteurs
- Deadlocks
Jour 1 - Après-midi
Programmation réflexive et concurrence avancée
- Fork/Join
- CompletableFuture
- Verrous et sémaphores
Jour 2 - Matin
ClassLoader et JVM
- ClassLoader et zones mémoire JVM
- Garbage collection
- ClassLoader personnalisé
Jour 2 - Après-midi
Nouveautés du langage
- Expressions switch
- Pattern Matching instanceof
- Classes Record
Jour 3 - Matin
Outils et API modernes
- JShell (REPL)
- API Process
- API Client HTTP2
Jour 3 - Après-midi
Tests et refactoring
- TDD
- JUnit
- Refactoring
Jour 4 - Matin
Programmation fonctionnelle et modules
- Lambda
- Streams
- Modules
Jour 4 - Après-midi
Profiling et optimisation
- Profiling (JVisualVM, Eclipse MAT)
- Optimisation GC
- Fuites mémoire
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.