¿Cuántos tipos de áreas de memoria asigna JVM?

JVM (Java Virtual Machine) es una máquina abstracta. En otras palabras, es un programa/software que toma el código de bytes de Java y convierte el código de bytes (línea por línea) en un código comprensible para la máquina. 

JVM (Java Virtual Machine) actúa como un motor de tiempo de ejecución para ejecutar aplicaciones Java. JVM es el que realmente llama al método principal presente en el código Java. JVM es parte de JRE (Java Runtime Environment)

JVM realiza algunos tipos particulares de operaciones

  1. carga de codigo
  2. Verificación de código
  3. Ejecutando el código
  4. Proporciona un entorno de tiempo de ejecución a los usuarios.

cargador de clases

Es un subsistema de JVM que se utiliza para cargar archivos de clase. Es responsable principalmente de tres actividades.

  • Cargando
  • Enlace
  • Inicialización

Tipos de áreas de memoria asignadas por la JVM:

Todas estas funciones toman diferentes formas de estructura de memoria. La memoria en la JVM se divide en 5 partes diferentes

JVM Architecture

  1. Área de clase (método)
  2. Montón
  3. Pila
  4. Registro de contador de programa
  5. Pila de métodos nativos

Vamos a ver sobre ellos en breve: 

1. Área de clase (método)

El área de método de clase es el bloque de memoria que almacena el código de clase, el código variable (variable estática, constante de tiempo de ejecución), el código de método y el constructor de un programa Java. (Aquí método significa la función que está escrita dentro de la clase). Almacena datos a nivel de clase de cada clase, como el conjunto de constantes de tiempo de ejecución, los datos de campo y método, el código de los métodos.

2. Montón

El área Heap es el bloque de memoria donde se crean los objetos o se almacenan los objetos. La memoria de almacenamiento dinámico asigna memoria para interfaces de clase y arrays (una array es un objeto). Se utiliza para asignar memoria a los objetos en tiempo de ejecución.

3. Apilar 

Cada subproceso tiene una pila JVM privada, creada al mismo tiempo que el subproceso. Se utiliza para almacenar datos y resultados parciales que se necesitarán al devolver el valor del método y realizar enlaces dinámicos.

Java Stack almacena marcos y se crea un nuevo marco cada vez que se invoca el método. Un marco se destruye cuando se completa la invocación de su método

4. Registro de contador de programa: 

Cada subproceso de JVM que lleva a cabo la tarea de un método específico tiene un registro de contador de programa asociado. El método no nativo tiene una PC que almacena la dirección de la instrucción JVM disponible mientras que, en un método nativo, el valor del contador del programa no está definido. El registro de PC es capaz de almacenar la dirección de retorno o un puntero nativo en alguna plataforma específica.

5. Pilas de métodos nativos: 

También llamadas pilas C, las pilas de métodos nativos no están escritas en lenguaje Java. Esta memoria se asigna para cada hilo cuando se crea y puede ser de naturaleza fija o dinámica.

Publicación traducida automáticamente

Artículo escrito por PREMMAURYA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *