Table des variables locales JVM (variables locales)

Table des variables locales JVM (variables locales)

  • La table de variables locales est également appelée tableau de variables locales ou table de variables locales
  • Défini comme un tableau numérique, principalement utilisé pour stocker les paramètres de méthode et les variables locales définies dans le corps de la méthode . Ces types de données incluent divers types de données de base, des références d'objet et des types returnAddress.
  • Étant donné que la table des variables locales est construite sur la pile du thread et correspond aux données privées du thread, il n’ya pas de problème de sécurité des données
  • La capacité requise de la table de variables locales est déterminée au moment de la compilation et enregistrée dans la donnée de variables locales maximales de l'attribut Code de la méthode. La taille de la table des variables locales n'est pas modifiée lors de l'exécution de la méthode.
  • ** Le nombre d'appels de méthodes imbriquées est déterminé par la taille de la pile. ** De manière générale, ** plus la pile est grande, plus les appels de méthode imbriqués. ** Pour une fonction, plus elle a de paramètres et de variables locales, plus la table des variables locales sera grande, et plus son cadre de pile sera grand, afin de répondre aux besoins d'augmentation des informations transmises par l'appel de méthode. À leur tour, les appels de fonction occuperont plus d'espace dans la pile, ce qui entraînera moins d'appels imbriqués.
  • Les variables de la table des variables locales ne sont valides que dans l'appel de méthode en cours . Lorsque la méthode est exécutée, la machine virtuelle termine le processus de transfert des valeurs de paramètres vers la liste de variables de paramètres à l'aide de la table de variables locales. Lorsque l'appel de méthode se termine, la table des variables locales sera détruite lorsque le cadre de la pile de méthodes est détruit.

Le cas de démonstration de code est le suivant:

package com.lbl.LocalVariables;

public class LocalVariablesTest {
    
    
    private int count=0;

    public static void main(String[] args) {
    
    
        LocalVariablesTest test = new LocalVariablesTest();
        int num=10;
        test.test1();
    }

    public void test1(){
    
    
        System.out.println("test1....run");
    }
}

Les variables locales maximales peuvent être vues par jclasslib dans IDEA:

Insérez la description de l'image ici

Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_37924905/article/details/108740436
conseillé
Classement