Maison  >  Article  >  Java  >  Comment le code Java est reconnu par les machines

Comment le code Java est reconnu par les machines

王林
王林original
2020-02-01 20:09:582980parcourir

Comment le code Java est reconnu par les machines

Comment le code java est-il reconnu par la machine ?

Tout d'abord, en tant que langage de programmation de haut niveau, Java a une syntaxe très complexe. Si vous lancez directement du code Java à la machine, celle-ci ne pourra pas reconnaître le code Java. Par conséquent, pour le langage Java, nous utilisons d'abord un compilateur pour compiler notre code source Java (fichier .java) dans un fichier de bytecode (fichier .class), puis utilisons une machine virtuelle (JVM) pour traduire le bytecode en code machine. , et enfin le code machine peut être reconnu et exécuté par la machine.

Veuillez regarder l'image ci-dessous :

Comment le code Java est reconnu par les machines

(Tutoriel vidéo d'apprentissage gratuit recommandé : Tutoriel vidéo Java)

Explication Comme suit :

En fait, la JVM ne peut pas exécuter directement les fichiers de bytecode. La JVM doit traduire le bytecode en code machine avant de pouvoir exécuter la logique de code correspondante. Dans la machine virtuelle HotSpot, il existe deux formes de traduction : la première est l'interprétation et l'exécution, c'est-à-dire la traduction du bytecode en code machine un par un et son exécution, la seconde est la compilation juste à temps (JIT), qui est Tout le bytecode contenu dans une méthode est compilé en code machine avant exécution. Les deux méthodes ont leurs propres avantages et inconvénients.

L'avantage de l'interprétation de l'exécution est qu'elle peut être exécutée immédiatement sans attendre la compilation. L’avantage de la compilation juste à temps est qu’elle s’exécute plus rapidement. La machine virtuelle HotSpot adopte par défaut le mode hybride, qui combine les avantages de l'exécution interprétée et de la compilation juste à temps. Il interprétera et exécutera d’abord le bytecode, puis compilera les codes de hotspot qui sont exécutés à plusieurs reprises, méthode par méthode.

Lorsque la machine virtuelle Java exécute le bytecode Java, elle chargera d'abord le fichier de bytecode en mémoire, puis stockera la classe Java chargée dans la zone de méthode (Zone de méthode). Lorsqu'elle est réellement en cours d'exécution, la machine virtuelle exécute le code dans la zone de méthode.

Pendant le processus en cours, chaque fois que vous entrez une méthode Java, la machine virtuelle Java génère un cadre de pile dans la pile de méthodes Java du thread actuel pour stocker les variables locales et les opérandes de bytecode. Lors de la sortie de la méthode d'exécution actuelle, quel que soit le retour normal ou anormal, la machine virtuelle Java affichera le cadre de pile actuel du thread actuel et le supprimera.

Articles et tutoriels connexes recommandés : Tutoriel d'introduction à Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn