Multi-threading et gestion de la mémoire en Java
Quels sont les buts de la formation ?
Programme de la formation
Implémenter le multi-threading en Java
Notions de threads et de processus
Le Contexte Switching :fonctionnement, conséquences
Parallélisme et accèsconcurrent
Synchronisation Java : verrous, synchronized,volatile
Bonnes pratiques de synchronisation et erreurs à éviter(Deadlock)
Implémentation de coordination des threads
Immuabilité : publications, encapusulationconfinement
Collections synchronisées, collectionsconcurrentes
Atomics
Lock, Sémaphore
CountDownLatch
Poolingde threads, executors
Atelier : implémentation de scénarios enmulti-threads, synchronisation - utilisation des executor.
Gérer efficacement la mémoire au sein de la JVM
Organisation de lamémoire de la JVM : stack, heap
Présentation du mécanismede ramasse-miettes
Fonctionnement du Garbage Collector
GarbageCollectors générationnels
Garbage Collector et fuitesmémoires
Paramètrage de la JVM pour optimiser l'emprise mémoire
Présentation des outils de la JVM pour monitorer uneapplication : jConsole, jVisualVM
Atelier :optimisation de la JVM pour une application - monitoring :dump et analyse de code.