Modelo de memoria del área de datos de tiempo de ejecución de la máquina virtual Hostpot
La parte blanca es la memoria compartida de todos los hilos cuando la JVM se está ejecutando
La parte azul es la memoria exclusiva del hilo
Una memoria compartida
1 Características del área del método
Se usa para almacenar información de clase, constantes y variables estáticas cargadas por la máquina virtual
La especificación jvm lo describe como una parte lógica del montón, pero es diferente. Alias Sin almacenamiento dinámico sin almacenamiento dinámico
GC rara vez recicla esta parte de la memoria porque tiene poco efecto
El objetivo principal de recuperación del GC es esta parte del grupo de constantes de tiempo de ejecución (String.intern y otros métodos generarán constantes de tiempo de ejecución) y el tipo se escribe en
2 características del montón
Almacene instancias de objetos, casi toda la memoria de objetos se asigna aquí (con el desarrollo de técnicas como el reemplazo escalar de análisis de escape en la pila , no todas las instancias de objetos se asignan en el montón)
El principal objetivo de reciclaje de GC se divide en la nueva generación y la generación anterior para facilitar el almacenamiento de la memoria de almacenamiento dinámico
La memoria colmada se puede configurar para que sea ampliable y controlada por -xmx -xms
Área de memoria privada de dos hilos
1 contador de programa
Un área pequeña guía el orden de ejecución del código del hilo
2 máquinas virtuales apiladas
El ciclo de vida es el mismo que el hilo.
Almacenar tabla de variables locales y otra información
Tabla de variables locales : almacena varios tipos de datos conocidos en tiempo de compilación y referencias de objetos
3 Pila de métodos locales
Diferente de la pila de máquinas virtuales que sirve métodos nativos
Otras tres áreas de memoria
Memoria directa: utilice el método nativo nativo para asignar directamente memoria fuera del montón