// JAVA & FRAMEWORKS
Inscription et informations :
Paris 01 56 56 71 00 / Région 04 72 33 78 30
Objectifs :
Présentation de la formation :
Code stage :
Public :
Prérequis :
Pédagogie :
Sessions
Paris :
Lyon :
Grenoble :
Toulouse :
15 – 16 jan, 25 – 26 juin, 10 – 11 oct, 10 – 11 déc
5 – 6 fév, 4 – 5 juin, 15 – 16 oct
26 – 27 mars, 9 – 10 juil, 3 – 4 déc
11 – 12 mai, 24 – 25 sept
Programme détaillé:
• Introduction au multi-threading
- Threads et processus
- Changements de contexte et conséquences
- Threads et Java
- Effets et dangers du parallélisme
- Accès concurrent
- Race condition
• La synchronisation en Java
- Le mot-clé synchronized, la règle d’or
- Synchronized et méthode statique
- Barrière mémoire
- Erreurs classiques
- Le mot-clé volatile
- Les dangers liés à la synchronisation
- Deadlock et comment les éviter
- Autres dangers de la synchronisation
• Coordination des threads: mécanismes de bas niveau
- Wait, notify, sleep
- Interruption, join
- Interruption et IO
- Thread démon
- Shutdown hook
• Thread safety et bonnes pratiques de développement
- Immuabilité
- Les pièges à éviter
- Immuabilité effective
- Publications propres
- Objets mutables, Encapsulation, Confinement
• Abstractions de plus haut niveau
- Collections synchronisées, collections concurrentes
- Atomics
- Lock, Sémaphore
- CountDownLatch
- BlockingQueue
- Pooling de threads
• Les ClassLoaders
- Hiérarchie des ClassLoaders
- Le ClassLoader dans JEE
- Charger une ressource
- Utiliser et créer son propre ClassLoader
• Le fonctionnement du Garbage Collector
- Différents types de gestion mémoire
- Le rôle du Garbage Collector
- Fonctionnement du Garbage Collector
- Garbage Collectors générationnels
- Garbage Collector et fuites mémoires
• APIs de référence
- Références et interraction avec le Garbage Collector
- Gestion de caches
- Fuites mémoires
- Finalisation des objets: améliorations & performances
Optimisation Java, multi-threading et gestion de mémoire (niv.2)
L’objet de cette formation est de maîtriser par la pratique les
concepts et fonctionnalités avancées parmi lesquelles:
• Comment fonctionne le multi-threading
• Savoir quand utiliser le multi-threading et quand l’éviter
• Connaître les bonnes pratiques pour éviter les pièges comme les
deadlocks ou la corruption mémoire
• Savoir utiliser les outils de base de Java pour gérer les threads et la
concurrence d’accès
• Savoir utiliser les composants de plus haut niveau du JDK 5 pour
gérer le multi-threading
• Comprendre comment et depuis où sont chargées les classes
d’une application
• Comprendre la façon dont la JVM gère sa mémoire
• Comprendre le fonctionnement des Garbage Collector
générationnels
• Éviter les fuites mémoires
• Utiliser les APIs de références pour gérer la mémoire et interagir
avec le Garbage Collector
Toutes les applications Java utilisent les mécanismes avancés
de la plateforme Java.
Que vous développiez des applications de type web, client riche, et même
mobile avec Android, vous serez confronté à des problématiques de multi-
threading, de performance, et de consommation mémoire.
De la même manière, la maîtrise complète de nombreux frameworks
nécessite de comprendre le fonctionnement de la plateforme et de son
mécanisme de chargement dynamique des classes.
La compréhension de ces mécanismes vous apportera souvent la clé
pour comprendre le fonctionnement de vos applications et optimiser leurs
performances.
60% de travaux pratiques
Maîtrise du langage Java
JMT
Développeur et chef de projet technique
Prix 2015 Interentreprises: 1250€ HT
Durée: 2 jours