JVM HotSpot
JVM HotSpot
présentation
La JVM (Java Virtual Machine) est une machine virtuelle logicielle qui exécute du code Java, compilés sous forme de bytecode Java, contenu dans les fichiers .class ou .jar, sur différentes plateformes sans le recompiler. Elle joue le rôle d’intermédiaire entre le bytecode Java produit par le compilateur Java et le système d’exploitation et le processeur.
La JVM HotSpot propose un moteur d’exécution incluant le chargement des classes (Class Loader) qui trouve et charge les fichiers .class. et le transforme en instructions compréhensibles par le processeur, soit par interprétation, soit via un compilateur JIT (Just‑In‑Time), la gestion des threads et la gestion de la mémoire grâce au ramasse‑miettes (Garbage Collector).
Le but de cours est acquérir une compréhension du fonctionnement et la configuration de la JVM HotSpot, de ses mécanismes d’exécution, de ses stratégies de gestion mémoire par les différents Garbage Collectors que cela soit pour une exécution on-premise ou dans des environnements conteneurisés où les ressources CPU/mémoire sont contraintes.
Des outils du JDK ou tiers de diagnostic et de monitoring pour superviser les applications (JMX, jcmd, jconsole, VisualVM, JFR) et capturer des métriques afin de résoudre les problèmes de mémoire, de threads ou de GC sont présentés.
Tarif 2026
* (déjeuner inclus, hors frais de déplacement et hébergement)

Durée

Modalité

Référence
CETTE FORMATION EST-ELLE FAITE POUR VOUS ?
programme
Introduction
- Le rôle d’une JVM
- La JVM HotSpot
La configuration d’une JVM
- Les options de la JVM
- Les modes d’exécution de la JVM Hotspot
- Unified JVM logging
L’exécution d’applications
- L’exécution de code par la JVM
- Les compilateurs JIT (Just In time)
Classpath et module path
- Classpath
- La définition du classpath
- Le Class Data Sharing (CDS)
- Le module path
- Les options pour assouplir les règles de JPMS
- Classpath et module path
- L’option --illegal-access
Le chargement des classes
Les outils en ligne de commandes du JDK
- JConsole et JVisualVM / VisualVM
Les ergonomics
Les threads
- La stacktrace
- StackOverFlowError
- Les threads dumps
- Les deadlocks
L’organisation de la mémoire
- Le heap
- La Permanent Generation (Permgen) / Metaspace
- La configuration de la taille de la mémoire
- Les problèmes liés à la gestion de la mémoire
- Les heap dumps
- OutOfMemoryError
Les ramasse-miettes (Garbage Collectors ou GC)
- Le tas (heap) des GC générationnel
- Les facteurs qui différencient un GC
- Les GC de la JVM HotSpot
- Le choix du GC par les ergonomics
- Le choix du ramasse-miettes à utiliser
- Logguer l’activité du GC à la console
- Le suivi de l’activité du GC avec VisualVM et jstat
Le Java/JDK Flight Recorder
JMX
La JVM dans un conteneur
MODALITES ET INFORMATIONS

Moyens et supports pédagogiques
Support de cours et cahier de travaux pratique.

Modalités d'évaluation
QCM pour mesurer l'acquisition des compétences théoriques

Taux de recommandation & de satisfaction
Disponible par formation sur demande
.png)
Modalités d'inscription
Les dates de formation sont définies avec vous et planifiées dans un délai maximal de trois mois après validation du besoin. Formulaire à remplir et à nous envoyer par mail à l'adresse formation@sciam.fr


