Diferencias entre STACK y HEAP de la JVM


STACK HEAP
Almacena Variables locales Objetos (clases, métodos, instancias)
Nunca se puede manipular directamente Se puede redimensionar y tiene el ‘Garbage Collector’
Tiene acceso al procesador, ‘stack pointer’

no

La memoria no necesita ser contigua Idem
Cada hilo tiene un stack Común a toda la JVM
OutOfMemory No tiene espacio para un nuevo hilo. Necesita más tamaño.
StackOverflow Requiere más espacio del permitido

·

Ejemplo:

var blue
var red
ref 0x456783= (Heap reference)
var tom
ref 0x498702= (Heap reference)
var diane
Heap (0x4567= 83)
name = Susan
age = 26
city= London
height= 5’7
sex= female

Heap (0x4987= 02)
name= Paul
age= 21
city = Glasgow
height = 6’0
sex = male

Ejemplo grafico
Bibliografia:
Diferencias entre STACK y HEAP de la JVM