2010-03-29 17 views
28

¿Cuál es la diferencia entre el JRE incluido con el JDK (ubicado dentro de la carpeta jre) y el JRE independiente? ¿Hay alguna?JRE incluido con JDK frente a JRE independiente

+0

¿A qué JRE independiente se está refiriendo? –

+2

Puede instalar el JDK (que viene con un JRE, ubicado en una subcarpeta de la ubicación de instalación de JDK) o puede instalar solo el JRE (es decir, como una descarga e instalación por separado). – Dave

Respuesta

25

La "independiente JRE" (a veces también conocido como el "JRE público") generalmente no contiene la versión del servidor de HotSpot. También carece de las herramientas incluidas con el JDK (JavaDB, javac, tools.jar, etc.).

De lo contrario, los tiempos de ejecución son idénticos. Además, tenga en cuenta que un JDK puede instalar uno (o más) JRE.

Finalmente, todas las notas anteriores se refieren a los instaladores de Sun de Java para Windows. Otros vendedores y plataformas pueden (y a veces lo hacen) variar.

+3

IIRC hay más información de depuración en la versión JDK del JRE. Mira el tamaño de 'rt.jar'. También hay cosas como falta de actualización automática. –

+2

Ver, me preguntaba si había cosas de depuración en el JRE del JDK, pero la gente pensó que estaba loco por mencionarlo. – Dave

+0

De hecho, mi jdk (7u6) acaba de instalar DOS jre's! Una carpeta jdk independiente (java/jre) y otra dentro (java/jdk ../ jre). Es un poco doloroso para la información de Oracle (o para cualquiera aquí) a lo que "jdk incluido jre" se refieren, pero probablemente sea la última. –

16

No hay diferencia (a menos que tenga una versión diferente del JRE). Esta es la definición oficial de SUN/Oracle:

http://java.sun.com/javase/6/docs/technotes/guides/index.html

JRE y JDK de Sun Microsystems proporciona dos productos de software principales en el Java ™ Plataforma , Standard Edition (Java ™ SE) de la familia:

Java SE Runtime Environment (JRE)

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

Java SE Development Kit (JDK)

El JDK incluye el JRE más herramientas de desarrollo de línea de comandos como compiladores y depuradores que son necesario o útil para el desarrollo applets y aplicaciones.

+1

@Kevin, 'bn' apunta al hecho de que hay 'NINGUNA' diferencia entre el 'JRE independiente' y el 'JRE incluido con JDK' (que es la pregunta original) –

+1

Entonces, otra pregunta rápida es esta: ¿puede redistribuye el JDK o solo puede proporcionar el JRE? – Dave

0

El "JDK" es el kit de desarrollo de Java. El JDK es un paquete de software que puede usar para desarrollar software basado en Java. El "JRE" es el entorno de tiempo de ejecución de Java. El JRE es una implementación de la Máquina Virtual Java que en realidad ejecuta programas Java.

Típicamente, cada JDK contiene uno (o más) de JRE junto con las diversas herramientas de desarrollo como los compiladores de código fuente de Java, agrupamiento y herramientas de implementación, depuradores, las bibliotecas de desarrollo, etc.

1

Si ejecuta una comparación binaria contra el JRE independiente y el JRE incluidos en el JDK, son binarios diferentes (al menos en la versión de Windows).

El recuento de clases en rt.jar es igual pero por curiosidad, ejecuté 'javap' en todas las clases en ambos y comparé los resultados.

La única diferencia que veo es que el verison JDK tiene líneas como 'Recopilado de "Serializable.java' antes del código de clase.

No creo que esto debería tener ningún impacto en el usuario final, por lo que estos Los JRE deben de hecho comportarse de la misma manera.

1

La diferencia es legal. JDK es para desarrollo, JRE es para ejecución. Puede incluir JRE con un producto

Cuestiones relacionadas