Arquitectura JVM | Explicado

Arquitectura JVM | Explicado
JVM es una máquina abstracta que se utiliza para ejecutar programas Java. En Java, el código fuente se convierte en bytecode que después de convertirse en un código de máquina es transferido a la memoria por la máquina virtual Java. En resumen, JVM proporciona un entorno de tiempo de ejecución para la ejecución de Java Bytecode que lo convierte en un componente del entorno de tiempo de ejecución de Java (JRE). En general, un JVM es responsable de la carga, la vinculación y la inicialización.

Arquitectura JVM

La arquitectura interna de Java Virtual Machine consta de tres partes principales.

1. Cargador de clases

2. Área de memoria

3. Motor de ejecución

Aquí hay una representación visual de la arquitectura JVM.

Debajo de todas las partes de Java Virtual Machine se explican en detalle.

Cargador de clases

Un cargador de clases en JVM se refiere a un subsistema responsable de cargar archivos. Carga un programa Java cada vez que ejecutamos un programa Java. Java proporciona los siguientes cargadores de clase.

a. Cargador de clases de bootstrap

Una superclase de cargador de clases de extensión que es responsable de cargar el RT.archivo jar

b. Cargador de clases de extensión

Un niño de Bootstrap ClassLoader y el padre del Sistema/ClassLoader de aplicaciones, Extension ClassLoader carga archivos JAR que se guardan en el directorio.

C. Cargador de clases de sistema/aplicación

Este cargador de clase carga archivos de clase de classpath y es un hijo de cargador de clases de extensión.

Área de memoria

Un área de memoria JVM consta de las siguientes partes.

a. Área de método

El propósito del área del método es guardar la estructura de clases como datos de métodos o datos de campo, grupo de tiempo de ejecución y código para métodos.

b. Montón

Heap es un área de datos de tiempo de ejecución donde se asignan los objetos.

C. Pilas

Stack es responsable de almacenar marcos, variables locales y resultados parciales. Desempeña un papel importante en la invocación del método y el retorno del método. Cada vez que se crea un hilo, una pila JVM privada para ese hilo en particular se crea simultáneamente y se crea un nuevo marco cada vez.

d. Registros de PC

Es responsable de mantener las direcciones mientras se ejecutan las instrucciones de JVM.

mi. Pilas de métodos nativos

Es responsable de mantener todos los métodos nativos requeridos en una aplicación.

Motor de ejecución

Un motor de ejecución consta de lo siguiente.

a. Intérprete

Ejecuta instrucciones después de leer la transmisión de bytecode.

b. Compilador justo en el tiempo (JIT)

JIT mejora el rendimiento al compilar partes del bytecode con funcionalidades similares al mismo, en adelante, reduciendo el tiempo general de compilación.

C.Recolector de basura

Se usa para recopilar objetos a los que no se hace referencia y eliminarlos para liberar la memoria.

Interfaz de método nativo

Ayuda a comunicarse con aplicaciones escritas en diferentes idiomas como C, C ++, etc. También es responsable de ayudar al código Java que se ejecuta en JVM para llamar a bibliotecas y aplicaciones nativas.

Bibliotecas de métodos

Consiste en bibliotecas nativas (C, C ++) que son necesarias para el motor de ejecución.

Conclusión

Java Virtual Machine (JVM) es una máquina abstracta que está construida para ejecutar programas Java. La arquitectura de JVM comprende tres partes principales que son cargador de clases, área de memoria y un motor de ejecución. El área de memoria y el motor de ejecución consisten aún más en algunas partes que tienen diferentes funcionalidades. Este tutorial explica la arquitectura de Java Virtual Machine (JVM) que destaca las funciones de sus diferentes componentes.