Uno de los puntos clave del modelo de memoria de máquina virtual JVM

Modelo de memoria del área de datos de tiempo de ejecución de la máquina virtual Hostpot

Modelo de distribución de memoria de máquina virtual JVM

  • 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

  1. Memoria directa: utilice el método nativo nativo para asignar directamente memoria fuera del montón
17 artículos originales publicados · ganó 24 · vistas 280,000 +

Supongo que te gusta

Origin blog.csdn.net/qq_22956867/article/details/78041877
Recomendado
Clasificación