Red de conocimientos turísticos - Información de alquiler - Capacitación en Java de Beida Jade Bird: ¿A qué cuestiones se debe prestar atención en la gestión de la memoria de programación Java?

Capacitación en Java de Beida Jade Bird: ¿A qué cuestiones se debe prestar atención en la gestión de la memoria de programación Java?

Cuando realiza el mantenimiento del sistema del programa, ¿hay errores del sistema que no se pueden resolver rápidamente debido a los problemas de administración de la memoria de la programación Java? Aprendamos y aprendamos juntos sobre la administración de la memoria de la programación Java.

Contador de programa (comprender) El contador de programa puede verse como un indicador de número de línea del código de bytes ejecutado por el hilo actual.

En el modelo conceptual de la máquina virtual, el trabajo del intérprete de código de bytes es seleccionar la siguiente instrucción de código de bytes que debe ejecutarse cambiando el valor del contador del programa, como ramas, bucles, saltos. , manejo de excepciones, las funciones básicas como la recuperación de subprocesos dependen de este contador.

Pila de máquina virtual Java (comprender) La pila de máquina virtual Java también es privada de subprocesos y su ciclo de vida es el mismo que el del subproceso.

La pila de la máquina virtual describe el modelo de memoria de ejecución del método Java: cuando se ejecuta cada método, se crea un marco de pila para almacenar tablas de variables locales, pilas de operandos, listas enlazadas dinámicas, información de salida de métodos, etc. .

El proceso desde la llamada hasta completar la ejecución de cada método corresponde al proceso desde insertar un marco de pila en la pila de la máquina virtual hasta sacarlo.

La tabla de variables locales almacena varios tipos de datos básicos (booleano, byte, char, short, int, float, long, double), referencias de objetos y tipos de direcciones de retorno (que apuntan a una palabra) conocidos por el compilador. dirección de la instrucción del código de sección).

Si no se puede solicitar suficiente memoria durante la expansión, se generará una excepción OutOfMemoryError.

Pila de métodos locales (comprender) La función de la pila de métodos locales es similar a la de la máquina virtual. La diferencia es que la pila de la máquina virtual sirve a los métodos Java ejecutados por la máquina virtual, mientras que la pila de la máquina virtual sirve a los métodos Java ejecutados por la máquina virtual. La pila de métodos sirve los métodos Java utilizados por el servicio de método nativo.

Algunas máquinas virtuales combinan directamente la pila de métodos locales y la pila de máquinas virtuales en una sola.

Se lanzarán excepciones StackOverflowError y OutOfMemoryError.

La memoria dinámica de Java se utiliza para almacenar instancias de objetos y matrices creadas por nuevos.

(Punto clave) El montón de Java es un área de memoria compartida por todos los subprocesos. Se crea cuando se inicia la máquina virtual. El propósito de esta área de memoria es almacenar instancias de objetos.

El montón de Java es el área principal administrada por el recolector de basura.

Institución/descubrimiento del curso de Java Dado que el recopilador actual básicamente adopta el algoritmo de reciclaje generacional, el montón de Java también se puede subdividir en: nueva generación y antigua generación.

Desde la perspectiva de la asignación de memoria, el montón de Java compartido por subprocesos se puede dividir en múltiples búferes de asignación privada de subprocesos (TLAB).