JDK vs JRE vs JVM: diferencias clave

¿Qué es JDK?

JDK es un entorno de desarrollo de software que se utiliza para crear aplicaciones y subprogramas de Java. Java Development Kit es la forma completa de JDK. Los desarrolladores de Java pueden usarlo en Windows, macOS, Solaris y Linux. JDK les ayuda a codificar y ejecutar programas Java. Se puede instalar más de una versión de JDK en la misma computadora.

En este tutorial, aprenderá:

¿Qué es JRE?

JRE es una pieza de software diseñada para ejecutar otro software. Están las bibliotecas de clases, la clase de cargador y la JVM. En términos simples, si desea ejecutar un programa Java, necesita un JRE. Si no es un programador, no necesita instalar JDK, solo JRE solo para ejecutar programas Java. Aunque todas las versiones de JDK vienen incluidas con Java Runtime Environment, no es necesario que descargue e instale el JRE por separado en su computadora. Java Runtime Environment es la forma completa de JRE.

¿Qué es JVM?

JVM es un motor que proporciona un entorno de ejecución para controlar el código o las aplicaciones Java. Convierte el código de bytes de Java a lenguaje de máquina. JVM es parte del Java Run Environment (JRE). No se puede descargar e instalar por separado. Para instalar JVM, necesita instalar JRE. Java Virtual Machine es la forma completa de JVM.

En muchos otros lenguajes de programación, el compilador produce código de máquina para un sistema específico. Sin embargo, un compilador de Java produce código para una máquina virtual llamada JVM.

EFECTOS PRINCIPALES

  • JDK es un kit de desarrollo de software, pero JRE es un paquete de software que le permite ejecutar un programa Java, pero JVM es un entorno para ejecutar bytecode.
  • Java Development Kit es la forma completa de JDK, Java Runtime Environment es la forma completa de JRE y Java Virtual Machine es la forma completa de JVM.
  • JDK se basa en plataformas, JRE también se basa en plataformas, pero JVM es independiente de la plataforma.
  • JDK contiene herramientas para desarrollo, depuración, etc. JRE contiene bibliotecas de clases y otros archivos de soporte, pero JVM no incluye herramientas de desarrollo de software.
  • Por el contrario, JDK viene con el instalador, por otro lado, solo hay JRE en el entorno para ejecutar el código fuente, pero JVM está incluido en el software JDK y JRE.

¿Por qué utilizar JDK?

Aquí hay algunas razones importantes para usar JDK:

  • JDK tiene las herramientas necesarias para escribir programas Java y JRE para ejecutarlos.
  • Incluye compilador, lanzador de aplicaciones Java, Appletviewer, etc.
  • El compilador convierte el código escrito en Java en código de bytes.
  • El lanzador abre una aplicación Java JRE, carga la clase requerida y ejecuta su método principal.

¿Por qué utilizar JRE?

Aquí hay algunas razones importantes para usar JRE:

  • JRE contiene bibliotecas de clases, JVM y otros archivos de soporte. No existe ninguna herramienta para el desarrollo de Java como depurador, compilador, etc.
  • Utiliza clases de paquetes clave como las bibliotecas math, swingetc, util, lang, aut y runtime.
  • Si necesita ejecutar subprogramas de Java, entonces JRE debe estar instalado en su sistema.

¿Por qué JVM?

Aquí hay algunas razones importantes para usar JVM:

  • JVM proporciona una forma independiente de la plataforma para ejecutar el código fuente de Java.
  • Hay muchas bibliotecas, herramientas y marcos.
  • Cuando ejecuta un programa Java, puede ejecutarlo en cualquier plataforma y ahorrar mucho tiempo.
  • JVM viene con un compilador JIT (Just-in-Time) que convierte el código fuente de Java a un lenguaje de máquina de bajo nivel. Por lo tanto, se ejecuta más rápido que una aplicación normal.

Características de JDK

Aquí están Características clave de JDK:

  • Le permite manejar múltiples extensiones en un solo bloque de captura.
  • JDK incluye todas las funciones de JRE.
  • Existen herramientas de desarrollo como compilador, depurador, etc.
  • JDK proporciona el entorno para desarrollar y ejecutar código fuente Java.
  • Se puede instalar en sistemas operativos Windows, Unix y Mac.
  • Se puede utilizar un operador de diamante para especificar una interfaz genérica en lugar de escribir la exacta.

Características de JRE

Aquí están características clave de JRE:

  • Java Runtime Environment es un conjunto de herramientas que realmente utiliza la JVM.
  • JRE ha implementado tecnología, incluidos Java Web Start y Java Plug-in.
  • Los desarrolladores pueden ejecutar fácilmente el código fuente en un JRE, pero no pueden escribir y compilar un programa Java.
  • Incluye bibliotecas integradas como Java Database Connectivity (JDBC), Remote Mode (RMI), Java Naming and Directory Interface (JNDI) y muchas más.
  • JRE es un cliente de máquina virtual JVM y Java HotSpot.

Características de JVM

Estas son algunas de las características clave de JVM:

  • Le permite ejecutar aplicaciones en un entorno de nube o en su dispositivo.
  • Java Virtual Machine convierte el código por lotes en código específico de la máquina.
  • Proporciona funciones básicas de Java como administración de memoria, seguridad, recolección de basura y muchas más.
  • JVM ejecuta el programa utilizando bibliotecas y archivos proporcionados por Java Runtime Environment.
  • Tanto JDK como JRE contienen Java Virtual Machine.
  • Puede ejecutar el programa java línea por línea y, por lo tanto, también se le llama intérprete.
  • JVM se puede usar fácilmente, por ejemplo, puede asignarle la menor cantidad de memoria y la mayor cantidad de memoria posible.
  • Es independiente del hardware y del sistema operativo. Entonces puede escribir un programa java una vez y ejecutarlo en cualquier lugar.

¿Cómo funciona JDK?

Funcionalidad JDK

Estos son los componentes clave de JDK:

  • JDK y JRE: El JDK permite a los programadores crear programas centrales de Java que pueden ser ejecutados por JRE, que incluía JVM y bibliotecas de clases.
  • Bibliotecas de clases: Son un grupo de bibliotecas cargadas dinámicamente que un programa Java puede llamar en tiempo de ejecución.
  • Compiladores: Es un programa Java que acepta un archivo de texto de desarrollador y lo compila en un archivo de clase Java. Es el tipo común de salida proporcionado por un compilador, que contiene código de bytes de Java. En Java, Javac es el compilador principal.
  • Depuradores: Debugger es un programa Java que permite a los desarrolladores probar y depurar programas Java.
  • JavaDoc: JavaDoc es documentación producida por Sun Microsystems para Java. JavaDoc se puede utilizar generando documentos API en un archivo HTML desde el programa fuente

¿Cómo funciona JRE?

Funcionalidad JRE

JRE también tiene un ejemplo de JVM, clases de biblioteca y herramientas de desarrollo. Una vez que escribe y compila el código Java, el compilador genera un archivo de clase que contiene código de bytes.

Estos son los componentes clave de JRE:

  • Cargadores de clases: El cargador de clases carga varias clases necesarias para ejecutar un programa Java. JVM utiliza tres cargadores de clases denominados cargador de clases de arranque, un cargador de clases de extensiones y un cargador de clases del sistema.
  • Verificador de código de bytes: Un verificador de código verifica los bytes del código de bytes para que el código no interfiera con el intérprete.
  • Interprete: Una vez que se cargan las clases y se verifica el código, el intérprete lee el código de línea en línea.
  • La carrera: La hora actual es un sistema que se utiliza principalmente en programación para describir el tiempo que se ejecuta un programa en particular.
  • Hardware: Una vez que compila el código Java nativo, se ejecuta en una plataforma de hardware separada.

De esta forma, el programa Java se ejecuta en JRE.

¿Cómo funciona JVM?

Funcionalidad JVM

Estos son los componentes clave de JVM:

1) Cargador de clases

El cargador de clases es un subsistema que se utiliza para cargar archivos de clases. Realiza tres funciones principales a saber. Carga, vinculación y proyección.

2) Modo de campo

El campo de modo JVM almacena una estructura de clases como metadatos, el código para los modos Java y el tiempo de ejecución actual.

3) pila

Todos los objetos de variables, matrices y variables se almacenan en un montón. Esta memoria se divide en varios subprocesos.

4) pilas de idiomas JVM

El lenguaje Java Stacks almacena variables locales y sus resultados parciales. Cada subproceso tiene su propia pila de lenguaje JVM, que se crea al mismo tiempo que se crea el subproceso. Se crea un nuevo marco cuando se invoca el método y se elimina cuando se completa el proceso de invocación de métodos.

5) programas de PC

Los programas informáticos almacenan la dirección de una guía de máquina virtual Java, que se está ejecutando actualmente. En Java, cada hilo tiene su propio programa informático.

6) Pilas de métodos nativos

Pilas de código nativo La guía de código nativo depende de la biblioteca nativa. Asigna memoria a pilas nativas o utiliza cualquier tipo de apilamiento.

7) Motor de ejecución

Es un tipo de software que se utiliza para probar software, hardware o sistemas completos. El motor de ejecución de pruebas nunca incluye información sobre el producto que se ha probado.

8) Interfaz de modo nativo

La interfaz de modo nativo es un marco de programación. Permite el código Java, que se ejecuta en una llamada JVM en bibliotecas y aplicaciones nativas.

9) Bibliotecas de métodos nativos

Bibliotecas indígenas es una colección de bibliotecas indígenas (C, C ++), requerida por el motor de ejecución.

Diferencia entre JDK, JRE y JVM

Aquí están las principales diferencias entre JDK vs JRE vs JVM:

JDK JRE JVM
Java Development Kit es la forma completa de JDK. Java Runtime Environment es la forma completa de JRE. Java Virtual Machine es la forma completa de JVM.
JDK es una herramienta de desarrollo de software para desarrollar aplicaciones en Java. Es un paquete de software que proporciona componentes esenciales para que las bibliotecas de clases Java ejecuten código Java. JVM ejecuta código de bytes de Java y proporciona un entorno para ejecutarlo.
JDK se basa en la plataforma. JRE también se basa en plataformas. JVM es independiente de la plataforma.
Existen herramientas para desarrollar, depurar y monitorear el código Java. Hay bibliotecas de clases y otros archivos de soporte que requieren JVM para completar el programa. Las herramientas de desarrollo de software no están incluidas en JVM.
Es el superconjunto de JRE Es un subconjunto de JDK. JVM es un subconjunto de JRE.
El JDK permite a los desarrolladores crear programas Java que pueden ser ejecutados y ejecutados por JRE y JVM. El JRE es la parte de Java que crea la JVM. El código fuente es ejecutado por el componente de la plataforma Java.
JDK viene con el instalador. El entorno es solo un JRE para ejecutar el código fuente. JVM incluido en el software JDK y JRE.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Salir de la versión móvil