Maison > Java > Javacommencer > Analyse de la relation entre la mémoire de pile, la mémoire de tas et la zone de méthode

Analyse de la relation entre la mémoire de pile, la mémoire de tas et la zone de méthode

王林
Libérer: 2020-07-30 16:37:28
avant
2626 Les gens l'ont consulté

Analyse de la relation entre la mémoire de pile, la mémoire de tas et la zone de méthode

Jetons d'abord un coup d'œil au code :

(Tutoriel recommandé : Tutoriel d'introduction à Java)

package cn.liang.jvm;
    public class SimpleHeap {	
            private int id;	
            public SimpleHeap(int id){		
                this.id = id;
	    }	
        public void show(){
	    System.out.println("My ID is " + id);
	}	
        public static void main(String[] args) {
		SimpleHeap s1 = new SimpleHeap(1);
		SimpleHeap s2 = new SimpleHeap(2);
		s1.show();
		s2.show();
	}
}
Copier après la connexion

Diagramme de relation :

Analyse de la relation entre la mémoire de pile, la mémoire de tas et la zone de méthode

(Recommandation du didacticiel vidéo : Tutoriel vidéo Java)

  • L'instance SimpleHeap elle-même est allouée dans le tas mémoire

  • Les informations décrivant la classe SimpleHeap sont stockées dans la zone de méthode

  • Les variables locales s1 et s2 dans la fonction main() sont stocké dans la mémoire de la pile Java et pointez vers le tas Deux instances de mémoire

Zone du tas :

1 Tous les objets stockés sont des objets, et chaque objet contient des informations sur. une classe correspondante. (Le but de la classe est d'obtenir des instructions d'opération)

2. JVM n'a qu'une seule zone de tas (tas) partagée par tous les threads. Les types de base et les références d'objet ne sont pas stockés dans le tas, seul l'objet lui-même l'est. stockés.

Zone de pile :

1. Chaque thread contient une zone de pile. Seuls les objets des types de données de base et les références aux objets personnalisés (et non aux objets) sont stockés dans la pile. tas.Zone

2. Les données (types d'origine et références d'objet) dans chaque pile sont privées et ne sont pas accessibles par d'autres piles.

3. La pile est divisée en 3 parties : zone de variables de type de base, contexte d'environnement d'exécution et zone d'instructions d'opération (instructions d'opération de stockage).

Zone de méthode :

1 Également appelée zone statique, comme le tas, elle est partagée par tous les threads. La zone méthode contient toutes les variables de classe et statiques.

2. La zone méthode contient des éléments qui sont toujours uniques dans l'ensemble du programme, tels que des variables de classe et statiques.

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal