jdk - jre java
¿Cuál es la diferencia entre JVM, JDK, JRE y OpenJDK? (17)
JVM
La máquina virtual de Java (JVM) es la máquina virtual que ejecuta los códigos de byte de Java. La JVM no entiende el código fuente de Java; es por eso que compila tus archivos *.class
para obtener archivos *.class
que contienen los códigos de byte comprendidos 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 JVM para diferentes sistemas (Windows, Linux, macOS, consulte la lista de Wikipedia ), el objetivo es que con los mismos códigos de byte 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 diagrama:
Java Runtime Environment (JRE)
El Java Runtime Environment (JRE) proporciona las bibliotecas, la máquina virtual de Java y otros componentes para ejecutar applets y aplicaciones escritas en el lenguaje de programació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 en una red. También es la base de las tecnologías en la plataforma Java 2, Enterprise Edition (J2EE) para el desarrollo e implementación de software empresarial. El JRE no contiene herramientas y utilidades como compiladores 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 está en el JRE, además de herramientas como los compiladores y depuradores necesarios para desarrollar applets y aplicaciones.
Tenga en cuenta que Oracle no es el único que proporciona JDK.
OpenJDK
OpenJDK es una implementación de código abierto del JDK y la base para el JDK de Oracle. Casi no hay diferencia entre el JDK de Oracle y el OpenJDK.
Las diferencias están expresadas en este blog :
P: ¿Cuál es la diferencia entre el código fuente que se encuentra en el repositorio de OpenJDK y el código que usa para construir el JDK de Oracle?
R: Está muy cerca: nuestro proceso de compilación para las versiones de Oracle JDK se basa en OpenJDK 7 agregando solo un par de piezas, como el código de implementación, que incluye la implementación de Oracle del complemento Java y Java WebStart, así como algunos terceros de código cerrado. Componentes de la fiesta como un rasterizador de gráficos, algunos componentes de terceros de código abierto, como Rhino, y algunos bits y piezas aquí y allá, como documentación adicional o fuentes de terceros. Avanzando, nuestra intención es abrir el código fuente de todas las piezas del JDK de Oracle, excepto aquellas que consideramos características comerciales como JRockit Mission Control (que aún no están disponibles en el JDK de Oracle), y reemplazar los componentes de terceros con alternativas de código abierto para lograr una paridad más cercana entre las bases del código.
¿Cuál es la diferencia entre JVM , JDK , JRE y OpenJDK ?
Estaba programando en Java y encontré estas frases, ¿cuáles son las diferencias entre ellas?
En palabras simples:
JVM: una especificación que describe la forma / los recursos para ejecutar un programa java. En realidad ejecuta el código de byte y hace que la plataforma Java sea independiente. Al hacerlo, es diferente para cada plataforma. JVM para Windows no puede funcionar como JVM para UNIX.
JRE: Implementación de JVM. (JVM + bibliotecas de tiempo de ejecución)
JDK: JRE + java compiler y otras herramientas esenciales para construir un programa java desde cero
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 compilación hasta su ejecución. Por otra parte, JRE solo se ejecuta en código (Byte Code).
Nota: - Ya sea que estemos instalando JDK o JRE, JVM vendrá junto con los paquetes y JVM es la parte donde el compilador JIT convierte el código de bytes en el código específico de la máquina.
Solo lea el artículo sobre JDK, JRE, JVM y JIT
JVM es la máquina virtual de Java, que en realidad ejecuta el bytecode de Java.
JRE es Java Runtime Environment: contiene una JVM, entre otras cosas, y es lo que necesita para ejecutar un programa Java.
JDK es el Kit de desarrollo de Java, es el JRE, pero con javac (que es lo que necesita para compilar el código fuente de Java) y otras herramientas de programación agregadas.
OpenJDK es una implementación específica de 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: Otro componente mencionado anteriormente es el JRE. Es JVM + otros tarros para crear un 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 compilador que compila tus archivos .java en archivos .class
Java es el lenguaje e incluye una sintaxis estricta y fuertemente tipada con la que ya deberías estar muy familiarizado.
Java 2 Platform, Standard Edition, también conocida como J2SE, se refirió a la plataforma e incluyó las clases en los paquetes java.lang y java.io, entre otros. Fue el bloque de construcción sobre el que se construyeron las aplicaciones Java.
Una máquina virtual de Java, o JVM, es una máquina virtual de software que ejecuta código compilado de Java. Debido a que el código Java compilado es simplemente un código de bytes, la JVM es responsable de compilar ese código de bytes en el código de la máquina antes de ejecutarlo. (Esto a menudo se denomina compilador Just In Time o compilador 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 compilador 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 la plataforma de depuración.
Java Runtime Environment, o JRE, fue y sigue siendo la pieza de software que los usuarios finales descargan para ejecutar aplicaciones compiladas 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.
Otro aspecto que vale la pena mencionar:
JDK (kit de desarrollo de java)
Lo necesitarás para propósitos de desarrollo como lo sugiere el nombre.
Por ejemplo: una compañía de software tendrá JDK instalado en su computadora porque necesitarán desarrollar un nuevo software que implique compilar y ejecutar sus programas Java también.
Entonces podemos decir que JDK = JRE + JVM.
JRE (entorno de ejecución Java)
Se necesita para ejecutar programas de Java. No puedes compilar programas Java con él.
Por ejemplo: un usuario de computadora regular que quiera ejecutar algunos juegos en línea necesitará JRE en su sistema para ejecutar programas Java.
JVM (máquina virtual java)
Como sabrás, ejecuta los bytecodes. Hace que la plataforma Java sea independiente porque ejecuta el archivo .class
que se obtiene después de compilar el programa Java independientemente de si lo compila en Windows, Mac o Linux.
Abrir JDK
Bueno, como he dicho anteriormente. Ahora, JDK está compuesto por una compañía diferente, una de ellas que es de código abierto y gratuita para uso público es OpenJDK, mientras que otras son JRockit JDK o IBM JDK de Oracle Corporation.
Sin embargo, todos pueden parecer iguales para el usuario general.
Conclusión
Si eres un programador de Java, necesitarás JDK en tu sistema y este paquete incluirá JRE y JVM también, pero si eres un usuario normal que le gusta jugar juegos en línea, solo necesitarás JRE y este paquete no tendrá JDK. .
En otras palabras, JDK es abuelo JRE es padre y JVM es su hijo.
Una máquina virtual Java (JVM) es una máquina virtual que puede ejecutar el bytecode de Java. Es el componente de ejecución de código de la plataforma de software Java.
El Kit de desarrollo de Java (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 (SDK) de Java más ampliamente 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 programació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.
JDK (Kit de desarrollo de Java)
Java Developer Kit contiene las herramientas necesarias para desarrollar los programas de Java y JRE para ejecutar los programas. Las herramientas incluyen compilador (javac.exe), lanzador de aplicaciones Java (java.exe), Appletviewer, etc.
El compilador convierte el código java en código byte. El iniciador de aplicaciones Java abre un JRE, carga la clase e invoca su método principal.
Necesitas JDK, si quieres escribir tus propios programas y compilarlos. Para ejecutar programas Java, JRE es suficiente.
JRE está dirigido a la ejecución de archivos Java
es decir, JRE = JVM + Paquetes de Java Clases (como util, math, lang, awt, swing, etc.) + bibliotecas de tiempo de ejecución.
JDK está dirigido principalmente para el desarrollo de Java. Es decir, puede crear un archivo Java (con la ayuda de paquetes Java), compilar 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 compilador, depurador, etc. En realidad, JVM ejecuta el programa y usa las bibliotecas de clases y otros archivos de soporte proporcionados en JRE. Si desea ejecutar cualquier programa java, necesita tener JRE instalado en el sistema
La máquina virtual de Java proporciona una forma de ejecución de código independiente de la plataforma; Eso significa compilar una vez en cualquier máquina y ejecutarlo en cualquier lugar (cualquier máquina).
JVM (Java Virtual Machine)
Como todos sabemos cuando compilamos un archivo Java, la salida no es un ''exe'' sino un archivo ''.class''. El archivo ''.class'' consta de códigos de bytes Java que son comprensibles por JVM. La máquina virtual de Java interpreta el código de byte en el código de la máquina según la combinación de hardware y sistema operativo subyacente. Es responsable de todas las cosas, como la recolección de basura, la verificación de los límites de la 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 arquitectura de hardware de la máquina. Esta independencia del hardware y el sistema operativo es una piedra angular del valor de escritura una vez que se ejecuta en cualquier lugar de los programas Java.
Hay diferentes implementaciones de JVM están ahí. Estas pueden diferir en aspectos como el rendimiento, la confiabilidad, la velocidad, etc. Estas implementaciones diferirán en aquellas áreas donde la especificación de Java no menciona cómo implementar las características, ya que el proceso de recolección de basura depende de la JVM, pero la especificación de Java no. Definir cualquier forma específica para hacer esto.
JDK - Compila java a Byte Code. Consiste en depuradores, compiladores, etc.
javac file.java // Is executed using JDK
JVM - Ejecuta el código de byte. JVM es la que hace que la plataforma Java sea independiente. Pero JVM varía para las plataformas.
JRE - JVM junto con las bibliotecas de tiempo de ejecución de java para ejecutar programas java.
JDK : el paquete completo que necesita para escribir y ejecutar el código Java
OpenJDK : una implementación independiente de JDK para hacerlo mucho mejor
JVM : convierte el código Java en un código de bytes y proporciona las especificaciones que indican cómo se debe compilar, cargar, verificar, verificar, verificar y ejecutar un código Java.
JRE : Implementación de la JVM con la que se utilizan algunas bibliotecas de Java para ejecutar el programa
JRE ejecuta la aplicación pero JVM lee las instrucciones línea por línea para que sea el intérprete.
JDK = JRE + Herramientas de desarrollo
JRE = JVM + Clases de biblioteca
JVM : en realidad significa el intérprete de código de byte. Depende de la plataforma. Por ejemplo: en la plataforma Windows, el proceso '' java.exe '' o '' javaw.exe '' es el proceso jvm.
JDK : es un kit de herramientas que contiene las bibliotecas y utilidades necesarias para desarrollar y ejecutar un programa / aplicación java.
JRE : es el entorno de ejecución para una aplicación java.ie, solo admite dependencias de tiempo de ejecución, incluido jvm para el programa compilado. Si queremos compilar un programa java necesitamos jdk.
JVM
JVM (Java Virtual Machine) es una máquina abstracta. Es una especificación que proporciona un entorno de ejecución en el que se puede ejecutar el código de bytes de 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. Físicamente existe. Contiene un conjunto de bibliotecas + otros archivos que JVM usa en el tiempo de ejecución.
JDK
JDK es un acrónimo de Java Development Kit. Físicamente existe. Contiene herramientas de desarrollo JRE +.
Enlace: - http://www.javatpoint.com/difference-between-jdk-jre-and-jvm
JVM Java Virtual Machine, en realidad ejecuta el código de bytes de Java. Es el bloque de ejecución en la plataforma JAVA. Convierte el bytecode al código de la máquina.
JRE Java Runtime Environment, proporciona los requisitos mínimos para ejecutar una aplicación Java; consiste en la máquina virtual Java (JVM), las clases principales y los archivos de soporte.
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.
JVM es la máquina virtual que se ejecuta en Java.
JRE es el entorno (bibliotecas estándar y JVM) requerido para ejecutar aplicaciones Java
JDK es el JRE con herramientas de desarrollo y documentación.
OpenJDK es una versión de código abierto del JDK, a diferencia del JDK común propiedad de Oracle
Simplemente:
JDK (Java Development Kit):
- Contiene las herramientas necesarias para desarrollar los programas de Java.
- Necesitas JDK, si quieres escribir tus propios programas y compilarlos.
- JDK está dirigido principalmente para el desarrollo de Java.
JRE (Java Runtime Environment)
Java Runtime Environment contiene JVM, bibliotecas de clases y otros archivos de soporte. JRE está dirigido a la ejecución de archivos Java.
JVM (Java Virtual Machine)
La JVM interpreta el código de bytes en el código de la máquina dependiendo de la combinación de hardware y sistema operativo subyacente. Es responsable de todas las cosas, como la recolección de basura, la verificación de los límites de la matriz, etc. La Máquina Virtual Java proporciona una forma de ejecución de código independiente de la plataforma.