Optimisation Java, multi-threading et gestion de mémoire (niv.2

publicité
Optimisation Java, multi-threading et gestion de mémoire (niv.2)
Présentation de la formation :
Durée : 2 jours
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 multithreading, de performance, et de consommation mémoire.
Prix 2015 Interentreprises : 1250€ HT
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.
Code stage : JMT
La compréhension de ces mécanismes vous apportera souvent la clé
pour comprendre le fonctionnement de vos applications et optimiser leurs
performances.
Public : Développeur et chef de projet technique
Prérequis : Maîtrise du langage Java
Pédagogie : 60% de travaux pratiques
Objectifs :
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 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
•
•
Éviter les fuites mémoires
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
•
•
•
Comprendre le fonctionnement des Garbage Collector
générationnels
Utiliser les APIs de références pour gérer la mémoire et interagir
avec le Garbage Collector
•
•
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
Sessions
Paris : 15 – 16 jan,
25 – 26 juin,
10 – 11 oct,
Lyon : 4 – 5 juin,
15 – 16 oct
5 – 6 fév,
Grenoble : 26 – 27 mars,
Toulouse : 9 – 10 juil,
11 – 12 mai,
24 – 25 sept
Inscription et informations :
// JAVA & FRAMEWORKS
[email protected]
Paris 01 56 56 71 00 / Région 04 72 33 78 30
10 – 11 déc
3 – 4 déc
Téléchargement