Recherche de site Web

Comprendre le compilateur Java et la machine virtuelle Java - Partie 4


Jusqu'à présent, nous avons parcouru le fonctionnement et la structure du code de Java et de la classe, de la méthode principale et du contrôle de boucle en Java. Ici, dans cet article, nous verrons Qu'est-ce que le compilateur Java et la machine virtuelle Java. À quoi servent-ils et leurs rôles.

Qu'est-ce que le compilateur Java

Java est un langage fortement typé, ce qui signifie que la variable doit contenir le bon type de données. Dans un langage fortement typé, une variable ne peut pas contenir un mauvais type de données. Il s'agit d'une fonctionnalité de sécurité très bien implémentée dans le langage de programmation Java.

Le compilateur Java est responsable de la vérification des variables pour toute violation de la conservation du type de données. Quelques exceptions peuvent survenir au moment de l'exécution, ce qui est obligatoire pour la fonctionnalité de liaison dynamique de Java. Au fur et à mesure de l'exécution du programme Java, il peut inclure de nouveaux objets qui n'existaient pas auparavant. Par conséquent, pour avoir un certain degré de flexibilité, quelques exceptions sont autorisées dans le type de données qu'une variable peut contenir.

Le compilateur Java définit un filtre pour les morceaux de code qui ne seront jamais compilés, à l'exception des commentaires. Le compilateur n'analyse pas les commentaires et les laisse tels quels. Le code Java prend en charge trois types de commentaires dans le programme.


1. /* COMMENT HERE */
2. /** DOCUMENTATION COMMENT HERE */
3. // COMMENT HERE

Tout ce qui est placé entre /* et */ ou /** et */ ou après // est ignoré par le compilateur Java.

Le compilateur Java est chargé de vérifier strictement toute violation de syntaxe. Le compilateur Java est conçu pour être un compilateur de bytecode, c'est-à-dire qu'il crée un fichier de classe à partir d'un fichier de programme réel écrit uniquement en bytecode.

Le compilateur Java est la première étape de la sécurité. Il s'agit de la première ligne de défense où la vérification du type de données incorrect dans la variable est vérifiée. Un type de données incorrect peut endommager le programme et l'extérieur. Le compilateur vérifie également si un morceau de code tente d'invoquer un morceau de code restreint comme une classe privée. Il restreint l'accès non autorisé au code/classe/données critiques.

Le compilateur Java produit des bytecodes/fichiers de classe qui sont neutres sur le plan de la plate-forme et de l'architecture et qui nécessitent l'exécution de JVM et qui s'exécuteront littéralement sur n'importe quel appareil/plate-forme/architecture.

Qu'est-ce que la machine virtuelle Java (JVM)

Java Virtual Machine est la prochaine ligne de sécurité qui met une couche supplémentaire entre l'application Java et le système d'exploitation. Il vérifie également le fichier de classe dont la sécurité a été vérifiée et compilé par le compilateur Java, si quelqu'un a falsifié le fichier de classe/le bytecode pour restreindre l'accès aux données critiques non autorisées.

Java Virtual Machine interprète le bytecode en chargeant le fichier de classe dans le langage machine.

JVM est responsable de fonctions telles que le chargement et le stockage, le calcul arithmétique, la conversion de type, la création d'objets, la manipulation d'objets, le transfert de contrôle, le lancement d'exceptions, etc.

Le modèle de travail de Java dans lequel Java Compiler compile le code en calssfile/bytecodes, puis Java Virtual Machine exécute le classfile/bytecode. Ce modèle garantit que le code s'exécute à vitesse rapide et la couche supplémentaire assure la sécurité.

Alors qu'en pensez-vous : le compilateur Java ou la machine virtuelle Java effectuent des tâches plus importantes ? Un programme Java doit essentiellement s'exécuter à la fois sur la surface (compilateur et JVM).

Cet article résume le rôle du compilateur Java et de la JVM. Toutes vos suggestions sont les bienvenues dans les commentaires ci-dessous. Nous travaillons sur le prochain article « Approche orientée objet de Java ». D’ici là, restez à l’écoute et connecté à TecMint. Aimez-nous, partagez-nous et aidez-nous à nous propager.