Développeurs et analystes programmeurs Java
Avoir suivi le stage "Java initiation" ou posséder les connaissances équivalentes
Maîtriser l'implémentation du multi-threading en Java - Gérer efficacement la concurrence et la mémoire.
Notions de threads et de processusLe Contexte Switching: fonctionnement, conséquencesParallélisme et accès concurrentSynchronisation Java: verrous, synchronized, volatileBonnes pratiques de synchronisation et erreurs à éviter (Deadlock)Implémentation de coordination des threads
Immuabilité: publications, encapusulation confinementCollections synchronisées, collections concurrentesAtomicsLock, SémaphoreCountDownLatchPooling de threads, executors
Atelier: implémentation de scénarios en multi-threads, synchronisation - utilisation des executor.
Organisation de la mémoire de la JVM: stack, heap Présentation du mécanisme de ramasse-miettes Fonctionnement du Garbage CollectorGarbage Collectors générationnelsGarbage Collector et fuites mémoiresParamètrage de la JVM pour optimiser l'emprise mémoire
Présentation des outils de la JVM pour monitorer une application: jConsole, jVisualVM
Atelier: optimisation de la JVM pour une application - monitoring: dump et analyse de code.
Méthodologie basée sur l'Active Learning : 75% de pratique minimum. Chaque point théorique est systématiquement suivi d'exemples et exercices.
Contrôle continu
Attestation de fin de stage mentionnant le résultat des acquis