Méthodologie et outils pour l'optimisation
- Les éléments impliqués dans l'optimisation des applications Java.
- Les éléments de la méthodologie.
- Les outils de profilage, de tests et d'aide.
Travaux pratiques
Utilisation d’un outil de profilage (VisualVM ou JFR) et d’un outil de tests unitaires (JUnit).
L'optimisation et le langage
- Les différents modes d’exécution et de compilation.
- Les types, les instructions, les méthodes.
- La manipulation des chaînes de caractères.
Travaux pratiques
Amélioration des performances de l'application témoin.
L'optimisation et la gestion de la mémoire
- La gestion des objets par la JVM (la création, la copie).
- La mise en œuvre de caches.
- Le choix des GC (les algorithmes, le paramétrage, la visualisation de l’activité).
- La saturation mémoire (les causes, le diagnostic, les solutions).
Travaux pratiques
Amélioration des performances de l'application témoin par une meilleure gestion des objets. Utilisation d'outils de visualisation de la mémoire (VisualVM, MAT), de l'activité du GC (Visual GC).
L'optimisation et les I/O
- Le choix des bonnes classes de stream.
- L'optimisation de la sérialisation.
Travaux pratiques
Amélioration des performances de l'application témoin par une meilleure gestion des IO.
L'optimisation et les BD
- Rappels sur les BD (les principaux concepts, les principales optimisations).
- Rappels sur la librairie standard JDBC (le modèle sous-jacent, l’API).
- L’optimisation et JDBC (groupement des requêtes, réduction des phases de préparation).
- L’optimisation et JDBC (optimisation de la pagination, gestion des transactions, les pools de connexion).
Travaux pratiques
Amélioration des performances de l'application témoin par l’optimisation de JDBC.
L'outil JMeter
- Le modèle sous-jacent à JMeter (plans de tests, groupes de threads, samplers, timers, controllers, processors, etc.).
- La construction des plans de tests http (web), JDBC (BD).
Travaux pratiques
Profilage d’une application simple à l’aide de JMeter.