www technetwork programar para jre jdk javase index for entre downloads diferencia developers descargar and java

java - technetwork - ¿Cuál es la diferencia entre JDK y JRE?



jre 11 download (20)

Aquí hay una respuesta simple directamente de Oracle http://docs.oracle.com/javase/7/docs/technotes/guides/

Java SE Runtime Environment (JRE)

El JRE proporciona las bibliotecas, la máquina virtual de Java y otros componentes necesarios para ejecutar applets y aplicaciones escritas en el lenguaje de programación Java. Este entorno de tiempo de ejecución se puede redistribuir con aplicaciones para que sean independientes.

Kit de desarrollo de Java SE (JDK)

El JDK incluye las herramientas de desarrollo de línea de comandos JRE plus, como compiladores y depuradores, que son necesarios o útiles para desarrollar applets y aplicaciones.

¿Cuál es la diferencia entre JDK y JRE?
¿Cuáles son sus funciones y cuándo debo usar una u otra?


Desde el sitio web oficial de Java ...

JRE (entorno Java Runtime):

  • Es una implementación de la Máquina Virtual Java * que en realidad ejecuta programas Java.
  • Java Runtime Environment es un complemento necesario para ejecutar programas Java.
  • El JRE es más pequeño que el JDK, por lo que necesita menos espacio en disco.
  • El JRE se puede descargar / admitir libremente desde https://www.java.com
  • Incluye la JVM, las bibliotecas Core y otros componentes adicionales para ejecutar aplicaciones y applets escritos en Java.

JDK (Kit de desarrollo de Java)

  • Es un paquete de software que puede utilizar para desarrollar aplicaciones basadas en Java.
  • El kit de desarrollo de Java es necesario para desarrollar aplicaciones java.
  • El JDK necesita más espacio en el disco, ya que contiene el JRE junto con varias herramientas de desarrollo.
  • El JDK se puede descargar / admitir libremente desde https://www.oracle.com/technetwork/java/javase/downloads/
  • Incluye el JRE, el conjunto de clases de API, el compilador de Java, Webstart y los archivos adicionales necesarios para escribir applets y aplicaciones Java.

En términos simples: JDK es abuelo JRE es padre y JVM es su hijo. [es decir, JDK> JRE> JVM]

JDK = JRE + herramientas de desarrollo / depuración

JRE = JVM + Paquetes de Java Clases (como util, math, lang, awt, swing, etc) + bibliotecas de tiempo de ejecución.

JVM = Sistema de cargador de clases + área de datos de tiempo de ejecución + Motor de ejecución.

En otras palabras, si usted es un programador de Java, necesitará JDK en su sistema y este paquete incluirá JRE y JVM también, pero si es un usuario normal que le gusta jugar juegos en línea, solo necesitará JRE y este paquete no tendrá JDK en ello.

JVM:

La máquina virtual de Java (JVM) es la máquina virtual que ejecuta los bytecodes de Java. La JVM no comprende el error tipográfico de Java, por eso compila los archivos * .java para obtener archivos * .class que contienen los códigos de bytes comprensibles 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, existen 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.

Proceso de compilación JIT (Cortesía: documentación de Oracle)


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

Por lo general, cuando solo le interesa ejecutar programas Java en su navegador o computadora, solo instalará JRE. Es todo lo que necesitas. Por otro lado, si planea realizar alguna programación en Java, también necesitará JDK.


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.

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 utiliza en el tiempo de ejecución.

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


JVM, JRE y JDK dependen de la plataforma porque la configuración de cada sistema operativo es diferente. Pero, Java es independiente de la plataforma.

Java Virtual Machine (JVM) es un sistema en tiempo de ejecución que ejecuta el código de bytes de Java.

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

El JDK incluye las herramientas de desarrollo de línea de comandos JRE plus, como compiladores y depuradores, que son necesarios o útiles para desarrollar applets y aplicaciones.


La diferencia entre JDK y JRE es que JDK es el kit de desarrollo de software para Java, mientras que JRE es el lugar donde ejecuta sus programas.


La respuesta anterior (por Pablo) es muy correcta. Esto es sólo información adicional.

El JRE es, como su nombre lo indica, un entorno . Es básicamente un conjunto de directorios con archivos relacionados con Java, a saber:

  • bin/ contiene los programas ejecutables de Java. El más importante es java (y para Windows, javaw también), que lanza la JVM. También hay otras utilidades aquí, como keytool y policytool .
  • conf/ guarda los archivos de configuración editables por el usuario para que jueguen los expertos de Java.
  • lib/ tiene un gran número de archivos de soporte: algunos .jar s, archivos de configuración, archivos de propiedades, fuentes, traducciones, certificados, etc. - todos los "ajustes" de Java. Los más importantes son los modules , un archivo que contiene los archivos .class de la biblioteca estándar de Java.
  • A un cierto nivel, la biblioteca estándar de Java necesita llamar al código nativo. Para este propósito, el JRE contiene algunos .dll (Windows) o .dylib (macOS) o .so (Linux) debajo de bin/ o lib/ con código binario nativo de soporte específico del sistema.

El JDK es también un conjunto de directorios. Es un superconjunto del JRE, con algunas adiciones:

  • bin/ ha sido ampliado con herramientas de desarrollo. El más importante de ellos es javac ; otros incluyen jar , javadoc y jshell .
  • jmods/ , que contiene archivos JMOD para la biblioteca estándar. Estos archivos permiten utilizar la biblioteca estándar con jlink .

Si desea ejecutar programas Java, pero no desarrollarlos, descargue el entorno de tiempo de ejecución de Java o JRE. Si desea desarrollarlos, descargue el kit de desarrollo de Java o JDK

JDK

Vamos a llamar a JDK es un kit que incluye lo que se necesita para desarrollar y ejecutar aplicaciones Java.

JDK se proporciona como un entorno de desarrollo para la creación de aplicaciones, componentes y applets.

JRE

Contiene todo lo que necesita para ejecutar aplicaciones Java en forma compilada. No necesitas bibliotecas y otras cosas. Todas las cosas que necesitas están compiladas.

JRE no se puede utilizar para el desarrollo, solo se utiliza para ejecutar las aplicaciones.


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. .

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. JVM, JRE y JDK dependen de la plataforma porque la configuración de cada sistema operativo es diferente. Pero, Java es independiente de la plataforma.

JRE

Contiene todo lo que necesita para ejecutar aplicaciones Java en forma compilada. No necesitas bibliotecas y otras cosas. Todas las cosas que necesitas están compiladas.

JRE no se puede utilizar para el desarrollo, solo se utiliza para ejecutar las aplicaciones.

Kit de desarrollo de Java SE (JDK)

El JDK incluye las herramientas de desarrollo de línea de comandos JRE plus, como compiladores y depuradores, que son necesarios o útiles para desarrollar applets y aplicaciones.

(Fuentes: GeeksForGeeks Q&A , http://docs.oracle.com/javase/7/docs/technotes/guides/ )


Simplemente :

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.


Supongamos que, si usted es un desarrollador, entonces su función es desarrollar el programa y ejecutar el programa. por lo que debe tener un entorno para desarrollar y ejecutar, que es proporcionado por JDK.

Supongamos que, si usted es un cliente, no tiene que preocuparse por el desarrollo. Solo necesita un entorno para ejecutar el programa y obtener el resultado, que es proporcionado por JRE.

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


Una comprensión clara de estos términos (JVM, JDK, JRE) es esencial para comprender su uso y sus diferencias.

JVM Java Virtual Machine (JVM) es un sistema en tiempo de ejecución que ejecuta el bytecode de Java. La JVM es como una computadora virtual que puede ejecutar un conjunto de instrucciones compiladas y manipular ubicaciones de memoria. Cuando un compilador de Java compila el código fuente, genera un conjunto altamente optimizado de instrucciones llamado bytecode en un archivo .class. La JVM interpreta estas instrucciones de bytecode y las convierte en código específico de la máquina para su ejecución.

JDK El Java Development Kit (JDK) es un entorno de desarrollo de software que puede utilizar para desarrollar y ejecutar aplicaciones Java. Incluye el JRE y un conjunto de herramientas de programación, como un compilador de Java, un intérprete, un visor de applet y un visor de documentos. El JDK se implementa a través de las plataformas Java SE, Java EE o Java ME.

JRE El Java Runtime Environment (JRE) es una parte del JDK que incluye una JVM, clases principales y varias bibliotecas que admiten el desarrollo de aplicaciones. Aunque el JRE está disponible como parte del JDK, también puede descargarlo y usarlo por separado.

Para una completa comprensión puedes ver mi Blog: Jdk Jre Jvm y las diferencias.


jdk es necesario compilar para codificar y convertir código java en códigos de bytes, mientras que jre es necesario para ejecutar los códigos de bytes.


Jvm, Jre, Jdk, estos son todos los pilares del lenguaje java. Cada componente trabaja por separado. Jdk y Jre existen físicamente, pero Jvm es una máquina abstracta que significa que no existe físicamente.

JVM es un subsistema de JDK y JRE que se usa para verificar el código intermedio conocido como Bytecode. Primero carga el "archivo de clase" con la extensión .c generada por el compilador Java (Javac) a través del cargador de clases del subsistema JVM y la ubicación de memoria clasificada (registros de área de clase, pila, pila y PC) de acuerdo con su uso. Luego, verifique todos los Bytecode para asegurarse de que se devuelvan en java y todos los accesos a la memoria a través de la red. Después de que el trabajo del interpretador comience, el interpretador verifica la línea completa del programa y finalmente el resultado se muestra en la consola, el navegador y la aplicación a través de JRE (Java Runtime Environment), que ofrece funciones de tiempo de ejecución.

JRE es también un subsistema de JDK que proporciona recursos de tiempo de ejecución como JVM, clases, archivos ejecutables como archivos .jar, etc.

JDK incluye el kit de desarrollo de Java que contiene todos los componentes necesarios que se utilizan en la programación como clase, métodos, swing, AWT, paquete, java (interpretador), javac (compilador), appletviewer (applet application viewer), etc. Archivo que es útil en el desarrollo de una aplicación para el clima autónomo o basado en web.


JDK incluye las herramientas de desarrollo de línea de comandos JRE plus, como compiladores y depuradores, que son necesarios o útiles para desarrollar applets y aplicaciones.

JRE es básicamente la máquina virtual de Java en la que se ejecutan los programas de Java. También incluye complementos de navegador para la ejecución del applet.

JDK 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.

Entonces, Básicamente JVM <JRE <JDK según @Jaimin Patel, dijo.


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.

La implementación de JVM también es lanzada activamente por otras compañías además de Sun Micro Systems.

JDK

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


Una diferencia desde una perspectiva de depuración:

Para depurar en clases del sistema Java como String y ArrayList, necesita una versión especial del JRE que se compila con "información de depuración". El JRE incluido dentro del JDK proporciona esta información, pero el JRE normal no lo hace. JRE regular no incluye esta información para garantizar un mejor rendimiento.

¿Qué es la información de depuración? Aquí hay una explicación rápida tomada de esta publicación del blog :

Los compiladores modernos hacen un buen trabajo convirtiendo su código de alto nivel, con sus estructuras de control anidadas y bien anidadas y sus variables tipificadas arbitrariamente en una gran pila de bits llamada código de máquina (o código de bytes en el caso de Java), cuyo único propósito es para ejecutar lo más rápido posible en la CPU de destino (CPU virtual de su JVM). El código de Java se convierte en varias instrucciones de código de máquina. Las variables se insertan en todo el lugar: en la pila, en los registros o se optimizan por completo. Las estructuras y los objetos ni siquiera existen en el código resultante, son simplemente una abstracción que se traduce en compensaciones codificadas en buffers de memoria.

Entonces, ¿cómo sabe un depurador dónde detenerse cuando le pide que interrumpa en la entrada a alguna función? ¿Cómo se las arregla para encontrar qué mostrarle cuando le pide el valor de una variable? La respuesta es - información de depuración.

La información de depuración es generada por el compilador junto con el código de la máquina. Es una representación de la relación entre el programa ejecutable y el código fuente original. Esta información se codifica en un formato predefinido y se almacena junto con el código de la máquina. Muchos de estos formatos se inventaron a lo largo de los años para diferentes plataformas y archivos ejecutables.


El JRE es el entorno de ejecución de Java . Es un paquete de todo lo necesario para ejecutar un programa Java compilado, incluida la Máquina Virtual de Java (JVM), la Biblioteca de clases de Java, el comando java y otra infraestructura. Sin embargo, no se puede utilizar para crear nuevos programas.

El JDK es el Kit de desarrollo de Java , el SDK con todas las funciones para Java. Tiene todo lo que JRE tiene, pero también el compilador ( javac ) y herramientas (como javadoc y jdb ). Es capaz de crear y compilar programas.

Por lo general, si solo le importa ejecutar programas Java en la computadora, solo instalará el JRE. Es todo lo que necesitas. Por otro lado, si planea realizar alguna programación Java, necesita instalar el JDK en su lugar.

A veces, incluso si no planea realizar ningún desarrollo de Java en una computadora, todavía necesita el JDK instalado. Por ejemplo, si está implementando una aplicación web con JSP, técnicamente solo está ejecutando programas Java dentro del servidor de aplicaciones. ¿Por qué necesitarías el JDK entonces? Debido a que el servidor de aplicaciones convertirá JSP en servlets de Java y necesita utilizar el JDK para compilar los servlets. Estoy seguro de que hay más ejemplos.


JDK es un superconjunto de JRE y contiene todo lo que está en JRE, además de herramientas como los compiladores y depuradores necesarios para desarrollar applets y aplicaciones. JRE proporciona las bibliotecas, la máquina virtual de Java (JVM) y otros componentes para ejecutar applets y aplicaciones escritas en el lenguaje de programación Java.