Quels sont les avantages de compiler et d'exécuter Java ?
Le code Java est compilé et exécuté dans la JVM, alors quels sont les avantages de cette façon de fonctionner ?
Contrairement au langage C/C++, qui peut être compilé directement pour générer un format de code que le CPU peut comprendre, communément appelé code machine, Java compile le code en mots exécutable par le code de la section de la machine virtuelle. La machine virtuelle Java peut être implémentée par matériel ou par logiciel selon différentes plateformes (Windows, Linux, Mac, etc.). L'avantage est qu'une fois le code Java compilé en bytecode, il peut s'exécuter sur différentes plates-formes de machines virtuelles. C'est ce que l'on dit souvent « compiler une fois, exécuter n'importe où ». De plus, la machine virtuelle fournit également une détection dynamique telle que l'environnement d'hébergement, les limites du tableau, le type dynamique, les autorisations de sécurité, etc., nous permettant d'accorder plus d'attention au développement de la logique métier.
Machine virtuelle Java
Du point de vue de la machine virtuelle, l'exécution du code Java nécessite d'abord de charger le fichier de classe compilé dans la machine virtuelle Java. La classe Java chargée sera stockée dans la zone méthode. La machine virtuelle Java divise la zone de mémoire d'exécution en cinq parties, à savoir la zone de méthodes, le tas, le registre PC, la pile de méthodes Java et la pile de méthodes locale.
Processus Java en cours d'exécution
Pendant le processus en cours d'exécution, chaque fois qu'une méthode Java est appelée, la machine virtuelle Java génère un cadre de pile dans la pile de méthodes Java du thread actuel . Swimsuit contient des variables locales et des opérandes de bytecode. La taille de cette trame est calculée à l'avance et la machine virtuelle Java ne nécessite pas que la pile mémoire soit contiguë. Lors de la sortie d'une méthode, qu'elle revienne normalement ou anormalement, la machine virtuelle Java affichera la trame actuelle et la supprimera. D'un point de vue matériel, le bytecode Java ne peut pas être exécuté directement, la machine virtuelle Java doit donc traduire le bytecode en code machine que le processeur peut reconnaître.
Il existe deux situations dans le processus de traduction ci-dessus : 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) ; en convertit un. Tous les bytecodes de la méthode sont traduits en code machine avant exécution.
L'avantage du premier est qu'il n'est pas nécessaire d'attendre la compilation, et l'avantage du second est qu'il s'exécute en fait plus rapidement. Afin d'obtenir une vitesse d'exécution plus rapide, les machines virtuelles Java adoptent généralement deux méthodes, à savoir le mode mixte, qui combine les avantages des deux. La technologie de compilation juste à temps est basée sur la théorie de la règle 80-20, c'est-à-dire que 20 % du code occupe 80 % des ressources informatiques. L'interprétation est utilisée pour la plupart des codes peu courants, et la compilation juste à temps est utilisée pour un petit nombre de codes couramment utilisés, qui ont atteint une vitesse d'exécution raisonnable.
Lorsque les ressources informatiques sont suffisantes, interprétation du bytecode, exécution, compilation à la volée et exécution simultanée. Une fois la compilation terminée, l'exécution de l'interprétation peut être remplacée la prochaine fois et le code machine peut être exécuté directement. En général, l'efficacité d'exécution du code Java a beaucoup à voir avec la configuration et le mode de fonctionnement de la machine virtuelle. L'optimisation de la machine virtuelle Java peut améliorer efficacement l'efficacité d'exécution du code.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.
