in

Diferencias entre JDK, JRE y JVM

gfg 200x200 min

Kit de desarrollo de Java (JDK) es un entorno de desarrollo de software utilizado para desarrollar aplicaciones y subprogramas Java. Incluye Java Runtime Environment (JRE), un intérprete / cargador (Java), un compilador (javac), un archivador (jar), un generador de documentación (Javadoc) y otras herramientas necesarias en el desarrollo de Java.

Ahora necesitamos un entorno para ejecutar nuestro programa. De ahora en adelante, JRE representa «Entorno de ejecución de Java» y también puede escribirse como «Java RTE». Java Runtime Environment proporciona los requisitos mínimos para ejecutar una aplicación Java; Consiste en el Máquina virtual Java (JVM), clases principales, y archivos de apoyo.

Ahora hablemos JVM, que se destaca por la máquina virtual java. Es como sigue:

  • A especificación donde se especifica el funcionamiento de la máquina virtual Java. Pero el proveedor de implementación es independiente para elegir el algoritmo. Su implementación ha sido proporcionada por Sun y otras empresas.
  • Un implementación es un programa informático que cumple con los requisitos de la especificación JVM.
  • Instancia en tiempo de ejecución Siempre que escribe un comando java en el símbolo del sistema para ejecutar la clase java, se crea una instancia de JVM.

Antes de continuar con las diferencias entre JDK, JRE y JVM, analicémoslas brevemente primero e interrelacionemos con la imagen que se propone a continuación.

JDK

No se confunda, ya que los vamos a discutir todos uno por uno.

1. JDK (Java Development Kit) es un kit que proporciona el entorno para desarrollar y ejecutar (ejecutar) el programa Java. JDK es un kit (o paquete) que incluye dos cosas

  • Herramientas de desarrollo (para proporcionar un entorno para desarrollar sus programas java)
  • JRE (para ejecutar su programa java).

2. JRE (Java Runtime Environment) es un paquete de instalación que proporciona un entorno para solo correr (no desarrollar) el programa java (o aplicación) en su máquina. JRE solo lo utilizan aquellos que solo quieren ejecutar programas Java que son usuarios finales de su sistema.

3. JVM (Máquina virtual de Java) es una parte muy importante de JDK y JRE porque está contenido o incorporado en ambos. Cualquier programa de Java que ejecute con JRE o JDK entra en JVM y JVM es responsable de ejecutar el programa de Java línea por línea, por lo que también se conoce como un Iintérprete.

Ahora analicemos los componentes de JRE para comprender su importancia y percibir cómo funciona realmente. Para esto, analicemos los componentes.

Los componentes de JRE son los siguientes:

  1. Tecnologías de implementación, incluida la implementación, Java Web Start y Java Plug-in.
  2. Kits de herramientas de interfaz de usuario, incluyendo Kit de herramientas de ventana abstracta (AWT), Swing, Java 2D, Accesibilidad, E / S de imagen, Servicio de impresión, Sonido, arrastre, y soltar (DnD), y métodos de entrada.
  3. Bibliotecas de integración, incluyendo Lenguaje de definición de interfaz (IDL), Conectividad de base de datos Java (JDBC), Interfaz de directorio y nombres Java (JNDI), Invocación de método remoto (RMI), Invocación de método remoto a través del protocolo Inter-Orb de Internet (RMI-IIOP), y guion.
  4. Otras bibliotecas base, incluyendo soporte internacional, entrada / salida (E / S), mecanismo de extensión, Beans, Extensiones de administración de Java (JMX), Interfaz nativa de Java (JNI), Matemáticas, Redes, Mecanismo de anulación, Seguridad, Serialización, y Java para procesamiento XML (XML JAXP).
  5. Bibliotecas base lang y util, incluyendo lang y util, administración, control de versiones, zip, instrumento, reflexión, colecciones, utilidades de concurrencia, archivo Java (JAR), registro, API de preferencias, objetos de referencia, y Expresiones regulares.
  6. Máquina virtual Java (JVM), incluyendo Cliente Java HotSpot y Máquinas virtuales del servidor.

Después de tener una comprensión adecuada de los componentes, ahora analicemos el funcionamiento de JRE. Para comprender cómo funciona JRE, consideremos una ilustración a continuación de la siguiente manera:

Ilustración:

Considere un archivo fuente de Java guardado como ‘Example.java ‘. El archivo se compila en un conjunto de códigos de bytes que se almacena en un «.clase» expediente. Aquí estará «Example.class“.

Tiempo de compilación

Nota: Desde arriba, se puede interpretar el cálculo de la operación de los medios durante el tiempo de compilación.

Las siguientes acciones ocurren en tiempo de ejecución como se enumeran a continuación:

  • Cargador de clases
  • Verificador de código de bytes
  • Intérprete
    • Ejecutar el código de bytes
    • Realice las llamadas adecuadas al hardware subyacente

Ahora analicemos brevemente cómo funciona JVM. Es como sigue:

JVM se convierte en una instancia de JRE en el tiempo de ejecución de un programa Java. Es ampliamente conocido como un intérprete en tiempo de ejecución. JVM ayuda en gran medida en la abstracción de la implementación interna de los programadores que hacen uso de bibliotecas para sus programas desde JDK.

Es el principal responsable de tres actividades.

  • Cargando
  • Enlace
  • Inicialización

De manera similar, ahora analicemos el funcionamiento de JRE, que es el siguiente:

  • 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 principal método presente en un código java. JVM es parte de JRE (Java Runtime Environment).
  • Las aplicaciones Java se denominan WORA (Write Once Run Anywhere). Esto significa que un programador puede desarrollar código Java en un sistema y puede esperar que se ejecute en cualquier otro sistema habilitado para Java sin ningún ajuste. Todo esto es posible gracias a JVM.
  • Cuando compilamos un .Java expediente, .clase archivos (contiene código de bytes) con los mismos nombres de clase presentes en .Java Los archivos son generados por el compilador de Java. Esta .clase El archivo entra en varios pasos cuando lo ejecutamos. Estos pasos juntos describen toda la JVM.

jvm 3

Este artículo es una contribución de Krishna Bhatia. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o envíe su artículo por correo electrónico a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.

¡Atención lector! No dejes de aprender ahora. Hazte con todo lo importante Fundación Java y conceptos de colecciones con el Curso de Fundamentos de Java y Colecciones de Java a un precio asequible para los estudiantes y prepárese para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y muchos más, consulte Curso completo de preparación para entrevistas.

Deja una respuesta

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

apple touch icon@2

matemáticas – ¿Cómo realizar una división de enteros y obtener el resto por separado en JavaScript?

edit

Derecho procesal vs derecho sustantivo: diferencia y comparación