Quels sont les composants de l'architecture Java?

L'architecture Java combine le processus de compilation et d'interprétation. Dans cet article, je vais vous parler des différents composants de l'architecture Java

L'architecture Java combine le processus de compilation et d'interprétation. Il explique les différents processus impliqués lors de la formulation d'un . Avant de commencer avec le sujet, permettez-moi de vous présenter l'ordre du jour de cet article.

Les pointeurs mentionnés ci-dessous seront nos sujets de discussion:





Commençons par comprendre ce qu'est exactement l'architecture Java?



Qu'est-ce que l'architecture Java?

Ici, je vais vous expliquer l'architecture java en quelques étapes simples.

  • En Java, il existe un processus de compilation et d'interprétation.
  • Le code écrit en , est converti en codes d'octets, ce qui est fait par le compilateur Java.
  • Les codes d'octets sont ensuite convertis en code machine par la JVM.
  • Le code machine est exécuté directement par la machine.

Ce schéma illustre le fonctionnement interne d'un code Java, ou précisément, de l'architecture Java!



JVM - Architecture Java - EdurekaMaintenant, approfondissons un peu l'architecture Java et parlons de divers .

Composants de l'architecture Java

Il existe trois composants principaux du langage Java: JVM, JRE et JDK .

Java Virtual Machine, Java Runtime Environment et Java Development Kit respectivement.

Permettez-moi de développer chacun d'eux un par un:

Machine virtuelle Java:

Avez-vous déjà entendu parler de WORA? (Écrivez une fois, exécutez partout). Eh bien, les applications Java sont appelées WORA en raison de leur capacité à exécuter un code sur n'importe quelle plate-forme. Cela se fait uniquement à cause de JVM. La JVM est un composant de plate-forme Java qui fournit un environnement pour l'exécution de programmes Java. JVM interprète le bytecode en code machine qui est exécuté sur la machine sur laquelle le programme Java s'exécute.

Donc, en un mot, JVM remplit les fonctions suivantes:

  • Charge le code
  • Vérifie le code
  • Exécute le code
  • Fournit un environnement d'exécution

Maintenant, laissez-moi vous montrer l'architecture JVM. Voici!

Explication:

Chargeur de classe : Le chargeur de classe est un sous-système de JVM. Il est utilisé pour charger les fichiers de classe. Chaque fois que nous exécutons le programme java, le chargeur de classe le charge en premier.

Zone de méthode de classe : Il s'agit de l'une des zones de données de JVM, dans laquelle les données de classe seront stockées. Les variables statiques, les blocs statiques, les méthodes statiques, les méthodes d'instance sont stockées dans cette zone.

Tas : Un tas est créé au démarrage de la JVM. Il peut augmenter ou diminuer sa taille pendant l'exécution de l'application.

Empiler : La pile JVM est appelée pile de threads. Il s'agit d'une zone de données dans la mémoire JVM qui est créée pour un seul thread d'exécution. La pile JVM d'un thread est utilisée par le thread pour stocker divers éléments, c'est-à-dire des variables locales, des résultats partiels et des données pour appeler la méthode et les retours.

Pile native : Il englobe toutes les méthodes natives utilisées dans votre application.

Moteur d'exécution:

  • Compilateur JIT
  • Éboueur

Compilateur JIT: La Compilateur Just-In-Time (JIT) fait partie de l'environnement d'exécution. Il aide à améliorer les performances des applications Java en compilant des bytecodes en code machine au moment de l'exécution. Le compilateur JIT est activé par défaut. Lorsqu'une méthode est compilée, la JVM appelle directement le code compilé de cette méthode. Le compilateur JIT compile le bytecode de cette méthode en code machine, le compilant «juste à temps» pour s'exécuter.

Éboueur: Comme son nom l'explique Éboueur signifie collecter le matériel non utilisé. Eh bien, dans JVM, ce travail est effectué par Garbage collection. Il suit chaque objet disponible dans l'espace de tas JVM et supprime les objets indésirables.
Le garbage collector fonctionne en deux étapes simples appelées Mark and Sweep:

  • Mark - c'est là que le ramasse-miettes identifie quelle mémoire est utilisée et laquelle ne le sont pas
  • Balayage - il supprime les objets identifiés pendant la phase de «marquage».

Environnement d'exécution Java:

Le logiciel JRE crée un environnement d'exécution dans lequel les programmes Java peuvent être exécutés. Le JRE est le système sur disque qui prend votre code Java, le combine avec les bibliothèques nécessaires et démarre la JVM pour l'exécuter. Le JRE contient les bibliothèques et les logiciels nécessaires à l'exécution de vos programmes Java. JRE fait partie de JDK (que nous étudierons plus tard) mais peut être téléchargé séparément.

Kit de développement Java:

Le kit de développement Java (JDK) est un environnement de développement logiciel utilisé pour développer des applications et des applets Java. Il contient JRE et plusieurs outils de développement, un interpréteur / chargeur (java), un compilateur (javac), un archiveur (jar), un générateur de documentation (javadoc) accompagné d'un autre outil.

La zone bleue indiquée dans le diagramme est JDK. Maintenant, laissez-moi vous expliquer les outils de développement.

Java : c'est le lanceur de toutes les applications java.
Javac : compatible avec les langages de programmation java.
javadoc : c'est le générateur de documentation de l'API.
pot : crée et gère tous les fichiers JAR.

En allant de l'avant avec l'architecture Java, comprenons en quoi la plate-forme Java est indépendante?

En quoi la plateforme Java est-elle indépendante?

Quand un langage de programmation est-il appelé comme indépendant de la plate-forme? Eh bien, si et seulement s'il peut fonctionner sur tous les systèmes d'exploitation disponibles en ce qui concerne son développement et sa compilation.
Maintenant, Java est indépendant de la plate-forme uniquement à cause du bytecode. Laissez-moi vous dire ce qu'est exactement un bytecode? En termes simples,
Bytecode est un code de la JVM qui est compréhensible par la machine.
L'exécution de Bytecode en Java prouve qu'il s'agit d'un langage indépendant de la plate-forme.
Ici, je vais vous montrer les étapes impliquées dans le processus d'exécution du bytecode java.

qu'est-ce que l'interface de marqueur en java

Voici l'explication des étapes impliquées:

sample.java → javac (sample. class) → JVM (sample.obj) → sortie finale

Le premier code source est utilisé par le compilateur java et est converti en fichier .class. Le code du fichier de classe est sous forme de code d'octet et ce fichier de classe est utilisé par JVM pour le convertir en fichier objet. Après cela, vous pouvez voir la sortie finale sur votre écran.

Aller de l'avant dans l'article sur l'architecture Java, laissez-nous comprendre le concept de JIT en Java .

JIT en Java

Le compilateur Just In Time, communément appelé JIT, est essentiellement responsable de l'optimisation des performances des applications Java au moment de l'exécution. Les performances d'une application dépendent d'un compilateur.
Voici un schéma simple vous montrant le processus interne en cours.

Compilateur JIT - Architecture Java - Edureka

Le compilateur JIT compile le code d'octet de la méthode en code machine, le compilant «Just In Time» pour l'exécuter. Lorsqu'une méthode est compilée, la JVM appelle directement le code compilé de cette méthode.
Allons plus loin:
Le code d'octet doit être interprété ou compilé selon des instructions machine appropriées en fonction du jeu d'instructions fourni. En outre, ceux-ci peuvent être exécutés directement si l'architecture d'instruction est basée sur un code d'octet. L'interprétation du code d'octet affecte la vitesse d'exécution.
Afin d'améliorer les performances, les compilateurs JIT interagissent avec la machine virtuelle Java (JVM) au moment de l'exécution et compilent les séquences de bytecode appropriées en code machine natif (comme indiqué dans le diagramme). Lors de l'utilisation d'un compilateur JIT, le matériel est capable d'exécuter le code natif, par rapport au fait que la JVM interprète la même séquence de bytecode à plusieurs reprises et entraîne une surcharge pour le processus de traduction.

Avec cela, je suis arrivé à la fin de cet article sur l'architecture Java. J'espère que les sujets abordés ci-dessus ont ajouté de la valeur à vos connaissances Java. Restez à l'écoute pour plus d'articles!

Maintenant que vous avez compris les bases de Java, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate & Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog «Architecture Java et ses composants» et nous vous répondrons dans les plus brefs délais.