Description
Objectif de formation : Obtenir une expertise sur le développement Java
Objectifs pédagogiques
- Comprendre les modèles de programmation multithread & les librairies standards correspondantes
- Appréhender les structures de données basiques employées pour la programmation multithread
- Maîtriser les principaux bugs & détenir un aperçu des solutions
- Maîtriser les outils de test & débogage
- Connaître les liens entre la programmation multithread & les performances
Public concerné
Développeurs
Architectes logiciels
Chefs de projets
Prérequis
Notions en Java
Connaissances sur l'utilisation d'un IDE
Déroulé du programme
1
Premiers pas avec la programmation multithread : modèles, interfaces & classes de programmation
- Notions de base
- Mises en œuvre des concepts
- Exceptions non catchées & groupes de threads
- Futur complétable
- Travaux pratiques : Programmation d’une application combinant les différents modèles.
2
Impératif sur le fonctionnement naturel des activités
- Tour d'horizon des méthodes formelles de spécifications
- Méthode semi-formelle de spécification
- Mise en place des spécifications
- Travaux pratiques : utilisation de méthodes formelles de spécifications
3
Synchronisation & communication des threads
- Présentation des status "synchronized", "wait", "notify" & la programmation de moniteurs
- Interfaces & classes de synchronisation
- Queue
- Travaux pratiques : mise en oeuvre des interfaces et classes de synchronisation
4
Déploiement de tâches en parallèle
- ExecutorService
- Modèle fork/join
- Travaux pratiques : mise en oeuvre des services d’exécution et du modèle fork/join
5
Structures de données dédiées à la programmation multithread
- Collections spécialisées
- Stockage local des données de thread
- Classes Atomic
- Travaux pratiques : mise en oeuvre des structures de données
6
Threads & performances
- Modification de la performance suite à la création de threads
- Modification de la performance suite à la synchronisation
- Modification de la performance dûe à la caches mémoire
- Threads et les IO, les BD et le graphique
- Threads & ordonnancement
- Travaux pratiques : Optimisation des programmes
7
Modèles alternatifs
- Modèles asynchrones
- Modèles d'acteurs
- Modèles réactifs synchrones
8
Outils liés à la création de programmes concurrents
- JConsole & jstack
- Librairie JArmus
- Logique temporelle de Lamport
- Tour d'horizon des erreurs courantes
Informations
Durée
4 jour(s)
28h
Tarif
2380 € HT
HT