La différence entre la pile Java et le tas
1. Le mécanisme de récupération de place n'agit que sur la mémoire du tas et n'a rien à voir avec la mémoire de la pile ;
2. la pile est plus rapide que celle du tas. Haute efficacité. Enregistrez les variables locales et les valeurs de référence des objets
3. Heap : enregistrez des variables plus grandes
4. c'est-à-dire que les données stockées 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 sur la pile, puis vérifiera si la valeur 3 existe. sur la pile. S'il n'existe pas, il stockera 3 dans
La même chose est vraie lors du traitement de b = 3, car 3 a été stocké auparavant, donc à ce moment, le compilateur n'a qu'à le faire. créez la variable b et pointez-la sur 3 (ce qui est bon pour économiser de l'espace).
A ce moment, a et b pointeront vers 3 en même temps, mais leur utilisation ne sera pas affectée. Si a = 4 ; est défini à ce moment, 4 doit être stocké dans la mémoire, et a pointe vers 4. La modification de la valeur a n'affectera pas la valeur b.
内存的划分: 1,寄存器。 2,本地方法区。 3,方法区。 4,栈内存。 存储的都是局部变量。 而且变量所属的作用域一旦结束,该变量就自动释放。 5,堆内存。 存储是数组和对象(其实数组就是对象) 凡是new建立在堆中。 特点: 1,每一个实体都有首地址值。 2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或者0.0f,boolean false char '\u0000' 3,垃圾回收机制。
Merci d'avoir lu, j'espère que cela pourra aider tout le monde, merci pour votre soutien à ce site !
Pour une introduction plus détaillée aux différences entre la pile Java et le tas, veuillez faire attention au site Web PHP chinois !