La diferencia entre Java Stack y Heap
1. El mecanismo de recolección de basura solo actúa en la memoria de montón y no tiene nada que ver con la memoria de la pila;
2. Pila: la pila es más rápida de acceder que el montón y tiene una alta eficiencia para guardar valores de referencia de variables y objetos locales.
3. Montón: guardar variables más grandes
4. Hay una característica especial muy importante de la pila, es decir, los datos que existe en la pila se pueden compartir.
Cuando el compilador procesa int a = 3, primero creará una referencia a la variable A en la pila y luego descubrirá si el valor 3 existe en la pila. Si no existe, se almacenará 3;
Lo mismo es cierto cuando se procesa B = 3, porque 3 se almacenó en antes, por lo que el compilador solo necesita apuntar la variable creada B a 3 (que es propicio para guardar espacio).
En este momento, A y B apuntan a 3 al mismo tiempo, pero no afecta su uso. Si a = 4; se define en este momento, 4 deben almacenarse en la memoria, apuntando de A a 4, y la modificación de un valor no afectará el valor b.
División de memoria: 1, registrarse. 2. Área de método local. 3. Área de método. 4. Memoria de pila. Todas las variables locales almacenadas. Además, una vez que el alcance al que pertenece la variable se termina, la variable se liberará automáticamente. 5. Memoria de montón. El almacenamiento es una matriz y un objeto (de hecho, una matriz es un objeto). Cualquier nuevo está construido en el montón. Características: 1. Cada entidad tiene un valor de dirección de vivienda. 2. Cada variable en la memoria de Heap tiene un valor de inicialización predeterminado, que varía según el tipo. El número entero es 0, decimal 0.0 o 0.0F, boolean falso char '/u0000' 3, mecanismo de recolección de basura.
Gracias por leer, espero que pueda ayudarte. ¡Gracias por su apoyo para este sitio!