Maison  >  Article  >  Java  >  Quel est le processus d’exécution des appels de méthode Java en mémoire ?

Quel est le processus d’exécution des appels de méthode Java en mémoire ?

PHPz
PHPzavant
2023-04-18 17:13:031626parcourir

1. Prérequis

1. Diagramme schématique de la mémoire de pile

Quel est le processus d’exécution des appels de méthode Java en mémoire ?

2. Comment la JVM exécute-t-elle la méthode ???

  • 1. Le fragment de code correspondant à la méthode est placé dans la zone méthode de la zone mémoire afin que la méthode puisse être utilisée lors du prochain appel de la méthode.

  • 2. Pendant le processus en cours, la JVM poussera les blocs de code de la méthode dans l'espace de pile de la mémoire selon l'ordre des appels de méthode et selon l'ordre d'exécution des instructions dans la méthode ( de haut en bas, de haut en bas) à l'intérieur et à l'extérieur) pour effectuer des opérations de saut de pile et d'exécution

2 Processus d'appel (exécution)

1 Règles pour l'appel de méthode

Lorsqu'une méthode

est appelée pour le. la première fois, la méthode correspondante sera chargée via le chargeur de classe. Le bloc de code est chargé dans la zone méthode de la mémoire

Chaque fois qu'une méthode est appelée, cela équivaut à un processus de push de pile

Quand tout le. Les instructions de la méthode sont exécutées, la méthode sera extraite de la pile (si la pile n'est pas extraite, une exception de débordement de pile se produira à un moment donné)2. Exemple de code

public class Practice {
    public static void main(String[] args) {
        System.out.println("main 开始");
        show1();
        System.out.println("main 结束");
    }
    public static void show1(){
        System.out.println("show1 开始");
        show2();
        System.out.println("show1 结束");
    }
    public static void show2(){
        System.out.println("show2 开始");
        System.out.println("show2 结束");
    }
}

3. de l'ensemble du programme

3.1 La JVM appellera automatiquement la méthode principale, de sorte que la méthode principale soit d'abord poussée sur la pile, puis exécute les instructions de la méthode principale dans l'ordre

Quel est le processus d’exécution des appels de méthode Java en mémoire ?3.2 Lorsque vous rencontrez le show1(), la méthode show1() sera poussée sur la pile et exécutera les instructions de la méthode show1

Quel est le processus d’exécution des appels de méthode Java en mémoire ?3.3 Exécution Lors de l'exécution des instructions dans la méthode show1, lorsque show2() est exécuté, le La méthode show1 fait une pause, puis pousse la méthode show2 sur la pile, puis exécute le contenu de la méthode show2

Quel est le processus d’exécution des appels de méthode Java en mémoire ?3.4 Lorsque le contenu de la méthode show2 est exécuté, la méthode show2 sera retirée de la pile et retourné à l'emplacement où la méthode show2 a été appelée dans la méthode show1. S'il n'y a pas d'opération d'affectation sur la valeur de retour, les instructions suivantes seront exécutées

Quel est le processus d’exécution des appels de méthode Java en mémoire ?3.5 Après avoir exécuté la méthode show1, elle sera Le show1. La méthode fait apparaître la pile, retourne à l'emplacement où la méthode show1 est appelée, puis exécute l'appel de la méthode show1 et les instructions suivantes

4.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer