Architecture JVM
L'architecture interne de la machine virtuelle Java se compose de trois pièces principales.
1. Chargeur de classe
2. Zone de mémoire
3. Moteur d'exécution
Voici une représentation visuelle de l'architecture JVM.
Sous toutes les parties de la machine virtuelle Java sont expliquées en détail.
Chargeur de classe
Un chargeur de classe dans JVM fait référence à un sous-système responsable du chargement des fichiers. Il charge un programme Java à chaque fois que nous exécutons un programme Java. Java fournit les chargeurs de classe suivants.
un. Bootstrap classloader
Une superclasse de chargeur de classe d'extension qui est responsable du chargement du RT.dossier
b. Extension Classloader
Enfant de Classstrap classloader et parent de System / Application Classloader, Extension Classloader charge les fichiers JAR qui sont enregistrés dans le répertoire.
c. Système / Application Classloader
Ce chargeur de classe charge les fichiers de classe à partir du chemin de classe et est un enfant d'extension Classloader.
Zone de mémoire
Une zone de mémoire JVM se compose des parties suivantes.
un. Zone de méthode
Le but de la zone de méthode est de sauvegarder la structure des classes telles que les données de méthode ou les données sur le terrain, le pool d'exécution et le code pour les méthodes.
b. Tas
Heap est une zone de données d'exécution où les objets sont alloués.
c. Piles
Stack est responsable du stockage des cadres, des variables locales et des résultats partiels. Il joue un rôle important dans l'invocation de la méthode et le retour de la méthode. Chaque fois qu'un thread est créé, une pile JVM privée pour ce fil particulier est créée simultanément et un nouveau cadre est créé à chaque fois qu'une méthode est invoquée, et dès que l'invocation se termine, le cadre est détruit.
d. PC REGISTERS
Il est chargé de maintenir les adresses pendant que les instructions JVM sont en cours d'exécution.
e. Piles de méthode native
Il est responsable de la tenue de toutes les méthodes natives requises dans une application.
Moteur d'exécution
Un moteur d'exécution se compose de ce qui suit.
un. Interprète
Il exécute des instructions après avoir lu le flux bytecode.
b. Compilateur juste à temps (JIT)
JIT améliore les performances en compilant des parties de bytecode avec des fonctionnalités similaires à la même chose, désormais, réduisant le temps de compilation global.
c.Éboueur
Il est utilisé pour collecter des objets qui ne sont pas référencés et les supprimer pour libérer la mémoire.
Interface de méthode native
Il aide à communiquer avec des applications écrites dans différentes langues comme C, C ++, etc. Il est également chargé d'aider le code Java en cours d'exécution dans JVM pour appeler les bibliothèques et les applications natives.
Bibliothèques de méthode
Il se compose de bibliothèques indigènes (C, C ++) qui sont nécessaires au moteur d'exécution.
Conclusion
Java Virtual Machine (JVM) est une machine abstraite conçue pour exécuter les programmes Java. L'architecture de JVM comprend trois pièces principales qui sont un chargeur de classe, une zone de mémoire et un moteur d'exécution. La zone de mémoire et le moteur d'exécution se composent en outre de certaines pièces qui ont des fonctionnalités différentes. Ce tutoriel explique l'architecture de Java Virtual Machine (JVM) mettant en évidence les fonctions de ses différents composants.