Red de conocimiento informático - Aprendizaje de código fuente - Cuando se crea un nuevo subproceso JAVA, ¿ocupa memoria dinámica de JAVA o memoria del sistema operativo?

Cuando se crea un nuevo subproceso JAVA, ¿ocupa memoria dinámica de JAVA o memoria del sistema operativo?

El objeto del subproceso en sí se crea en la memoria del montón y el espacio del subproceso abierto después de llamar a start() pertenece a la memoria de la pila. La gestión de la memoria en el lenguaje Java es una operación automática de la JVM. Cuando la JVM descubre que algunos objetos ya no son necesarios, reasigna (libera) la memoria ocupada por el objeto y proporciona la memoria asignada a los objetos necesarios.

En algunos lenguajes de programación, la gestión de la memoria es responsabilidad del programa, pero los programadores que han escrito C++ saben muy bien que si el programa necesita ser escrito por uno mismo, es probable que se produzcan errores graves o programas impredecibles, en última instancia, la mayor parte del tiempo de desarrollo se dedicará a depurar el programa y corregir errores.

Información relacionada

En la era de la programación pasada, la gestión manual de la memoria provocaba errores inevitables en los programas informáticos, y dichos errores suponían un golpe devastador para los programas informáticos, por lo que la gestión de la memoria se convierte en una parte muy importante. Tema, pero para la mayoría de los lenguajes puramente orientados a objetos (como Java), las capacidades de memoria proporcionadas son inherentes al lenguaje mismo.

Gestión automática de memoria, en la que el lenguaje proporciona un recolector de basura programático [GC], que proporciona una interfaz abstracta y un código más confiable, lo que permite asignar la memoria de manera adecuada en el programa. La situación más común es cuando el recolector de basura evita el problema de las referencias colgantes.

Porque una vez que estos objetos no pueden ser "alcanzados" por ninguna referencia, es decir, se vuelven no referenciables en el pool de memoria de la JVM, el recolector de basura simplemente recuperará la memoria que ocupan, siempre que cumplan con ciertas reglas para Objetos reciclados por el recolector de basura. Cuando se recupera la memoria, el recolector de basura la liberará automáticamente.