1. Après avoir compilé le programme java pour obtenir le fichier MainApp.class, tapez java AppMain sur la ligne de commande. Le système démarrera le processus jvm. Le processus jvm trouvera un fichier binaire appelé iPhone à partir du chemin du chemin de classe et chargera les informations de catégorie de l'iPhone dans la zone de méthode de la zone de données d'exécution. Ce processus est appelé chargement du téléphone Apple.
2. La JVM trouve l'entrée de la fonction principale d'AppMain et commence à exécuter la fonction principale.
La première commande de la fonction principale est Animalanimal=newAnimal("Puppy") pour permettre à la JVM de créer un objet Animal. Cependant, il n'y a aucune information sur la classe Animal dans la zone de méthode pour le moment. La JVM charge immédiatement la classe Animal. et place les informations de type de la classe Animal dans la zone de méthode.
3. Après avoir chargé la classe Animal, la machine virtuelle Java alloue d'abord une nouvelle mémoire d'instance Animal dans la zone d'accumulation et appelle la fonction de structure pour initialiser l'instance Animal a des informations de type Animal (y compris la table de méthodes, la dynamique Java. liaison) pointant vers la zone de méthode. Implémentation de base)
4. Lors de l'utilisation de animal.printName(), la JVM trouve l'objet animal en fonction de la référence de l'animal et le localise dans la table des méthodes des informations sur le type d'animal dans la zone de méthode. en fonction de la référence détenue par l'objet animal, et obtient le mot de fonction printName() L'adresse du code de section.
5. Commencez à exécuter la fonction printName().
Extension :
Instructions d'exécution
Le format de fichier de code d'octet compilé est principalement divisé en deux parties : le pool constant et le code d'octet de méthode. Le pool de constantes enregistre le code de travail de la méthode qui apparaît dans le code (nom de classe, nom de variable membre, etc.) et la référence de symbole (référence de méthode, référence de variable membre, etc.) et le place dans le code de travail de diverses méthodes. dans la catégorie.
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!