¿Cuál es la diferencia entre JVM, JDK, JRE y OpenJDK?

¿Cuál es la diferencia entre JVM , JDK , JRE y OpenJDK ?

Estaba progtwigndo en Java y encontré estas frases, ¿cuáles son las diferencias entre ellos?

JVM

La máquina virtual Java (JVM) es la máquina virtual que ejecuta los bytecodes de Java. La JVM no comprende el código fuente de Java, por eso comstack sus archivos *.class para obtener archivos *.class que contienen los códigos de byte entendidos por la JVM. También es la entidad que permite que Java sea un “lenguaje portátil” ( escribir una vez, ejecutar en cualquier lugar ). De hecho, hay implementaciones específicas de la JVM para diferentes sistemas (Windows, Linux, MacOS, consulte la lista de Wikipedia ), el objective es que con los mismos códigos de bytes todos den los mismos resultados.

JDK y JRE

Para explicar la diferencia entre JDK y JRE, lo mejor es leer la documentación de Oracle y consultar el diagtwig:

Java Runtime Environment (JRE)

Java Runtime Environment (JRE) proporciona bibliotecas, Java Virtual Machine y otros componentes para ejecutar applets y aplicaciones escritos en el lenguaje de progtwigción Java. Además, dos tecnologías de implementación clave son parte del JRE: Java Plug-in, que permite que los applets se ejecuten en navegadores populares; y Java Web Start, que implementa aplicaciones independientes a través de una red. También es la base de las tecnologías en la plataforma Java 2, Enterprise Edition (J2EE) para el desarrollo y la implementación de software empresarial. JRE no contiene herramientas y utilidades como comstackdores o depuradores para desarrollar applets y aplicaciones.


Kit de desarrollo de Java (JDK)

El JDK es un superconjunto del JRE y contiene todo lo que hay en el JRE, además de herramientas como los comstackdores y los depuradores necesarios para desarrollar applets y aplicaciones.

Tenga en cuenta que Oracle no es el único que proporciona JDK.

OpenJDK

OpenJDK es la implementación de código abierto de Java SE 7 JSR ( JSR 336 ). Ahora casi no hay diferencia entre Oracle JDK y OpenJDK. El año pasado, Oracle tomó esta decisión: pasar a OpenJDK como la implementación oficial de referencia de Java SE 7

Las diferencias están establecidas en este blog :

P: ¿Cuál es la diferencia entre el código fuente que se encuentra en el repository OpenJDK y el código que usa para construir Oracle JDK?

R: Está muy cerca: nuestro proceso de comstackción para las versiones de Oracle JDK se basa en OpenJDK 7 al agregar solo un par de piezas, como el código de implementación, que incluye la implementación de Oracle de Java WebStart y el complemento de código cerrado. componentes de la parte como un rasterizador de gráficos, algunos componentes de código abierto de terceros, como Rhino, y algunas partes y piezas aquí y allá, como documentación adicional o fonts de terceros. En el futuro, nuestra intención es abrir todas las piezas de Oracle JDK, excepto aquellas que consideramos características comerciales como JRockit Mission Control (aún no disponible en Oracle JDK) y reemplazar componentes de terceros gravados con alternativas de código abierto para lograr una paridad más cercana entre las bases de código.

Dependiendo de la versión utilizada, la VM puede diferir: Correspondencia entre las versiones Sun / Oracle JDK, OpenJDK y HotSpot VM

  • JVM es Java Virtual Machine: la JVM en realidad ejecuta código de bytes Java.
  • JDK es Java Developer Kit: el JDK es lo que necesitas para comstackr el código fuente de Java.
  • JRE es Java Runtime Environment: es lo que necesita para ejecutar un progtwig Java y contiene una JVM, entre otras cosas.

OpenJDK es una implementación específica de JDK.

JDK (Kit de desarrollo de Java)

Java Developer Kit contiene las herramientas necesarias para desarrollar los progtwigs Java y JRE para ejecutar los progtwigs. Las herramientas incluyen el comstackdor (javac.exe), el iniciador de aplicaciones Java (java.exe), Appletviewer, etc.

El comstackdor convierte el código de Java en código de bytes. El iniciador de aplicaciones Java abre un JRE, carga la clase e invoca su método principal.

Necesita JDK, si desea escribir sus propios progtwigs, y comstackrlos. Para ejecutar progtwigs Java, JRE es suficiente.

JRE está destinado a la ejecución de archivos Java

es decir, JRE = JVM + Java Packages Classes (como util, math, lang, awt, swing, etc.) + bibliotecas de tiempo de ejecución.

JDK está principalmente dirigido al desarrollo de Java. Es decir, puede crear un archivo Java (con la ayuda de paquetes Java), comstackr un archivo Java y ejecutar un archivo java.

JRE (Java Runtime Environment)

Java Runtime Environment contiene JVM, bibliotecas de clases y otros archivos de soporte. No contiene ninguna herramienta de desarrollo como comstackdor, depurador, etc. En realidad, JVM ejecuta el progtwig y utiliza las bibliotecas de clase y otros archivos de soporte proporcionados en JRE. Si desea ejecutar cualquier progtwig Java, debe tener JRE instalado en el sistema

La Máquina Virtual Java proporciona una forma independiente de plataforma para ejecutar código; Eso significa comstackr una vez en cualquier máquina y ejecutarla en cualquier lugar (cualquier máquina).

JVM (Java Virtual Machine)

Como todos sabemos cuando comstackmos un archivo Java, el resultado no es un ‘exe’, sino un archivo ‘.class’. El archivo ‘.class’ consiste en códigos de bytes Java que son comprensibles para JVM. La máquina virtual de Java interpreta el código de bytes en el código de máquina según el sistema operativo subyacente y la combinación de hardware. Es responsable de todo lo relacionado con recolección de basura, comprobación de límites de matriz, etc. JVM depende de la plataforma.

La JVM se denomina “virtual” porque proporciona una interfaz de máquina que no depende del sistema operativo subyacente ni de la architecture del hardware de la máquina. Esta independencia del hardware y el sistema operativo es una piedra angular del valor de escritura única de cualquier progtwig de Java.

Hay diferentes implementaciones de JVM allí. Estos pueden diferir en aspectos como el rendimiento, la fiabilidad, la velocidad, etc. Estas implementaciones diferirán en aquellas áreas donde la especificación Java no menciona cómo implementar las características, por ejemplo, cómo funciona el proceso de recolección de elementos no utilizados depende de JVM, la especificación Java no defina cualquier forma específica de hacer esto.

Una máquina virtual Java (JVM) es una máquina virtual que puede ejecutar bytecode de Java. Es el componente de ejecución de código de la plataforma de software de Java.

El Java Development Kit (JDK) es un producto de Oracle Corporation dirigido a desarrolladores de Java. Desde la introducción de Java, ha sido, con mucho, el Kit de desarrollo de software Java (SDK) más utilizado.

Java Runtime Environment también se conoce como Java Runtime, Runtime Environment

OpenJDK (Open Java Development Kit) es una implementación gratuita y de código abierto del lenguaje de progtwigción Java. Es el resultado de un esfuerzo que Sun Microsystems comenzó en 2006. La implementación está licenciada bajo la Licencia Pública General de GNU (GPL) con una excepción de enlace.

Simplemente:

JDK (Java Development Kit):

  • contiene las herramientas necesarias para desarrollar los progtwigs de Java.
  • Necesita JDK, si desea escribir sus propios progtwigs, y comstackrlos.
  • JDK está principalmente dirigido al desarrollo de Java.

JRE (Java Runtime Environment)

Java Runtime Environment contiene JVM, bibliotecas de clases y otros archivos de soporte. JRE está destinado a la ejecución de archivos Java.

JVM (Java Virtual Machine)

La JVM interpreta el código de bytes en el código de máquina según el sistema operativo subyacente y la combinación de hardware. Es responsable de todo lo relacionado con recolección de basura, comprobación de límites de matriz, etc. Java Virtual Machine proporciona una forma independiente de plataforma para ejecutar código.

JVM es la máquina virtual que se ejecuta el código de Java

JRE es el entorno (bibliotecas estándar y JVM) necesarios para ejecutar aplicaciones Java

JDK es el JRE con herramientas de desarrollador y documentación

OpenJDK es una versión de código abierto del JDK, a diferencia del JDK común propiedad de Oracle

JDK – Comstack java a Byte Code. Consiste en depuradores, comstackdores, etc.

 javac file.java // Is executed using JDK 

JVM – Ejecuta el código de bytes. JVM es el que hace que la plataforma java sea independiente. Pero JVM varía para las plataformas.

JRE – JVM junto con bibliotecas de tiempo de ejecución Java para ejecutar progtwigs Java.

Otro aspecto que vale la pena mencionar:

JDK (kit de desarrollo de java)

Lo necesitará para fines de desarrollo, como su nombre lo sugiere.

Por ejemplo: una compañía de software tendrá que instalar JDK en su computadora porque necesitarán desarrollar un nuevo software que también compile y ejecute sus progtwigs Java.

Entonces podemos decir que JDK = JRE + JVM.

JRE (entorno de tiempo de ejecución de Java)

Es necesario para ejecutar progtwigs Java. No puede comstackr progtwigs Java con él.

Por ejemplo: un usuario normal de una computadora que desea ejecutar algunos juegos en línea necesitará JRE en su sistema para ejecutar progtwigs Java.

JVM (máquina virtual Java)

Como usted sabrá, ejecute los bytecodes. Hace que la plataforma Java sea independiente porque ejecuta el archivo .class que obtiene después de comstackr el progtwig Java, independientemente de si lo comstack en Windows, Mac o Linux.

Abra JDK

Bueno, como dije antes. Ahora JDK está hecho por una compañía diferente, una de las cuales es Open Source y es para uso público OpenJDK, mientras que otras son Oracle JRockit JDK o IBM JDK.

Sin embargo, todos pueden parecer iguales para el usuario general.

Conclusión

Si usted es un progtwigdor de Java, necesitará JDK en su sistema y este paquete también incluirá JRE y JVM, pero si usted es un usuario normal y le gusta jugar en línea, solo necesitará JRE y este paquete no tendrá JDK. .

En otras palabras, JDK es el abuelo JRE es padre y JVM es su hijo.

JRE : representa el tiempo de ejecución de Java y es necesario para ejecutar la aplicación Java.

JDK : representa el kit de desarrollo de Java y proporciona herramientas para desarrollar el progtwig Java, por ejemplo, el comstackdor Java. También contiene JRE.

JVM : significa máquina virtual Java y es el proceso responsable de ejecutar la aplicación Java.

JIT : representa la comstackción Just In Time y ayuda a mejorar el rendimiento de la aplicación Java al convertir el código de bytes de Java en código nativo cuando el umbral cruzado es cierto, es decir, principalmente el código dynamic se convierte en código nativo.

Java es el lenguaje e incluye una syntax estricta y fuertemente tipada con la que ya debería estar muy familiarizado.

La plataforma Java 2, Standard Edition, también conocida como J2SE, hace referencia a la plataforma e incluye las clases en los paquetes java.lang y java.io, entre otros. Fue el componente sobre el que se construyeron las aplicaciones Java.

Una máquina virtual Java o JVM es una máquina virtual de software que ejecuta código comstackdo de Java. Debido a que el código comstackdo de Java es simplemente bytecode, la JVM es responsable de comstackr ese bytecode en el código de la máquina antes de ejecutarlo. (Esto a menudo se denomina comstackdor Just In Time o comstackdor JIT). La JVM también se encarga de la administración de la memoria para que el código de la aplicación no tenga que hacerlo.

El Java Development Kit, o JDK, fue y sigue siendo la pieza de software que los desarrolladores de Java usan para crear aplicaciones Java. Contiene un comstackdor de lenguaje Java, un generador de documentación, herramientas para trabajar con código nativo y (típicamente) el código fuente de Java para la plataforma para habilitar las clases de plataforma de depuración.

El Java Runtime Environment, o JRE, fue y sigue siendo la pieza de descarga de los usuarios finales del software para ejecutar aplicaciones comstackdas de Java. Incluye una JVM pero no contiene ninguna de las herramientas de desarrollo incluidas en el JDK. El JDK, sin embargo, contiene un JRE.

En palabras simples:

JVM: Una especificación que describe la forma / recursos para ejecutar un progtwig java. En realidad, ejecuta el código de bytes y hace que la plataforma java sea independiente. Al hacerlo, es diferente para diferentes plataformas. JVM para Windows no puede funcionar como JVM para UNIX.

JRE: Implementación de JVM. (JVM + bibliotecas de tiempo de ejecución)

JDK: JRE + comstackdor de Java y otras herramientas esenciales para construir un progtwig Java desde cero

JVM : esto en realidad significa el intérprete de código de bytes. Es dependiente de la plataforma. Por ejemplo: en la plataforma Windows, el preceso ‘ java.exe ‘ o ‘ javaw.exe ‘ es el proceso jvm.

JDK : es un conjunto de herramientas que contiene las bibliotecas y utilidades necesarias para desarrollar y ejecutar el progtwig / aplicación java

JRE : es el entorno de ejecución para una aplicación java. Es decir, solo admite dependencias de tiempo de ejecución, incluido jvm para el progtwig comstackdo. Si queremos comstackr un progtwig java, necesitamos jdk.

JVM: máquina virtual de java. le dice a la máquina qué hacer con el código Java. No puede descargar JVM como está. Viene empaquetado en algún otro componente.

JRE: Algunos otros componentes mencionados anteriormente son JRE. Es JVM + otras jarras para crear entorno de tiempo de ejecución

JDK: contiene JRE (que a su vez contiene JVM). Una vez que obtenga JDK, no necesita instalar JRE y JVM por separado. Contiene un comstackdor que comstack tus archivos .java a archivos .class

JVM

JVM (Java Virtual Machine) es una máquina abstracta. Es una especificación que proporciona un entorno de tiempo de ejecución en el que se puede ejecutar bytecode java. Las JVM están disponibles para muchas plataformas de hardware y software.

JRE

JRE es un acrónimo de Java Runtime Environment. Se utiliza para proporcionar un entorno de ejecución. Es la implementación de JVM. Existe físicamente. Contiene un conjunto de bibliotecas y otros archivos que JVM utiliza en tiempo de ejecución.

JDK

JDK es un acrónimo de Java Development Kit. Existe físicamente. Contiene herramientas de desarrollo JRE +.

Enlace: – http://www.javatpoint.com/difference-between-jdk-jre-and-jvm

JVM Java Virtual Machine, en realidad ejecuta el bytecode java. Es el bloque de ejecución en la plataforma JAVA. Convierte el bytecode en el código de máquina.

JRE Java Runtime Environment, proporciona los requisitos mínimos para ejecutar una aplicación Java; consiste en Java Virtual Machine (JVM), clases principales y archivos auxiliares.

JDK Java Development Kit, tiene todas las herramientas para desarrollar su software de aplicación. Es como JRE + JVM

Open JDK es una implementación gratuita y de código abierto de la Plataforma Java.

En términos sencillos: – JDK = JRE + herramientas de desarrollo / depuración , donde JDK es nuestro paquete completo para trabajar con Java, desde la creación de la comstackción hasta su ejecución. Por otro lado, JRE solo ejecuta código (Código de byte).

Nota: – Si estamos instalando JDK o JRE, JVM vendrá incluido con ambos paquetes y JVM es la parte donde el comstackdor JIT convierte el código de bytes en el código específico de la máquina.

Acabo de leer el artículo sobre JDK, JRE, JVM y JIT

JDK : el paquete completo que necesitas para escribir y ejecutar código java

OpenJDK : una implementación independiente de JDK para hacerlo mucho mejor

JVM : convierte el código Java en bytecode y proporciona las especificaciones que indican cómo debe comstackrse, cargarse, verificarse, verificarse errores y ejecutarse un código Java.

JRE : Implementación de la JVM con la que se utilizan algunas bibliotecas de Java para ejecutar el progtwig

JRE ejecuta la aplicación pero JVM lee las instrucciones línea por línea para que sea un intérprete.

JDK = JRE + Herramientas de desarrollo

JRE = JVM + Clases de biblioteca

    Intereting Posts