La différence entre la pile Java et le tas
1. Le mécanisme de collecte des ordures n'agit que sur la mémoire du tas et n'a rien à voir avec la mémoire de pile;
2. Stack: la pile est plus rapide à accéder au tas et a une efficacité élevée pour enregistrer les valeurs de référence des variables et objets locaux.
3. Heap: Économisez des variables plus grandes
4. Il existe une caractéristique spéciale très importante de la pile, c'est-à-dire que les données qui existent dans la pile peuvent être partagées.
Lorsque le compilateur traite Int A = 3, il créera d'abord une référence à la variable A dans la pile, puis découvrira si la valeur 3 existe dans la pile. S'il n'existe pas, 3 sera stocké;
Il en va de même lors du traitement B = 3, car 3 a été stocké avant, donc le compilateur n'a besoin que de pointer la variable créée B à 3 (ce qui est propice à l'espace de sauvegarde).
À l'heure actuelle, A et B pointent en même temps vers 3, mais cela n'affecte pas leur utilisation. Si a = 4; est défini pour le moment, 4 doit être stocké en mémoire, pointant de A à 4, et la modification d'une valeur n'affectera pas la valeur b.
Division de la mémoire: 1, registre. 2. Zone de méthode locale. 3. Area de la méthode. 4. Pile de la mémoire. Toutes les variables locales stockées. De plus, une fois la portée à laquelle appartient la variable est terminée, la variable sera automatiquement libérée. 5. Mémoire de tas. Le stockage est un tableau et un objet (en fait, un tableau est un objet). Tout nouveau est construit dans le tas. Caractéristiques: 1. Chaque entité a une valeur d'adresse d'accueil. 2. Chaque variable dans la mémoire du tas a une valeur d'initialisation par défaut, qui varie en fonction du type. L'entier est 0, décimal 0,0 ou 0,0F, booléen faux char '/ u0000' 3, mécanisme de collecte des ordures.
Merci d'avoir lu, j'espère que cela peut vous aider. Merci pour votre soutien à ce site!