2010-05-11 16 views
33

Creo que el JVM es similar al .NET Framework, ¿correcto? Entonces, ¿qué es el JRE?¿Cuál es la diferencia entre JRE y JVM?

Gracias!

+1

mapas de JVM a CLR de .NET Framework – RBT

+3

duplicado Posible de (http [¿Cuál es la diferencia entre JVM, JDK, JRE y OpenJDK?]: // stackoverflow.com/questions/11547458/what-is-the-difference-between-jvm-jdk-jre-openjdk) – Nayuki

Respuesta

27

El JRE es el entorno en el que se ejecuta la máquina virtual.

JRE - Java Runtime Environment

JVM - Java Virtual Machine

JRE es el contenedor, JVM es el contenido.

0

Según Wikipedia:

La JVM, que es la instancia de la 'JRE' (Java Runtime Environment), entra en acción cuando se ejecuta un programa Java. Cuando se completa la ejecución, esta instancia es basura recolectada. JIT es la parte de la JVM que se utiliza para acelerar el tiempo de ejecución. JIT compila partes del código de bytes que tienen una funcionalidad similar al mismo tiempo, y por lo tanto reduce la cantidad de tiempo necesaria para la compilación.

3

El JRE incluye el JVM, que es lo que realmente interpreta el código de bytes y ejecuta su programa. Para hacer esto, JVM usa bibliotecas y otros archivos proporcionados por JRE.

Creo que diría que el JRE es como el .NET Framework, mientras que el JVM es como .NET CLR. Sin embargo, probablemente hay algunas diferencias importantes aquí que no conozco.

+0

"El JRE es como el .NET Framework, mientras que el JVM es como el .NET CLR", es necesario extraer una cita útil . –

1

La JVM es el proceso que ejecuta el código de Java, y JRE son todos los archivos distribuidos para formar el "entorno" en el que se ejecuta la JVM.

61

Java Runtime Environment contiene JVM, bibliotecas de clase y otros archivos auxiliares.

que no contiene ninguna herramienta de desarrollo, tales como compilador, depurador, etc.

En realidad JVM se ejecuta el programa, y ​​utiliza las bibliotecas de clases, y otra

archivos de apoyo previstas en el JRE.

JRE de Java + = JVM Paquetes clases (como util, matemáticas, lang, AWT, columpio etc) + bibliotecas de tiempo de ejecución.

Si desea ejecutar cualquier programa Java, es necesario tener instalado en el sistema JRE.

JRE es la caja y JVM es el contenido de la caja.

En palabras sencillas JRE = JVM + rt.jar

donde rt.jar contiene Lang, bibliotecas util, AWT, swing, etc. matemáticas o archivos .class compilados utilizados para ejecutar nuestro programa.

Más información sobre la diferencia entre JVM y JRE-CLICK HERE

+3

Gracias. Esto es mucho mejor que la respuesta aceptada. –

5

La respuesta simple a esta pregunta es JRE es el super-conjunto de JVM.

Es decir, el código que se compila con el compilador java (javac) produce byte-code (archivos .class). jre que es el subconjunto de jdk contiene las bibliotecas necesarias junto con jvm. jvm ejecuta el código de bytes y produce un código de máquina que está en forma legible por máquina con el respaldo de las bibliotecas requeridas para ese código.

Para ver la configuración de JVM vaya a: C: \ Archivos de programa \ Java \ jre7 \ lib \ i386 \ jvm.cfg
Este archivo contiene la lista de máquinas virtuales de Java que se puede utilizar como una opción para java, javac, etc.

8

En primer lugar JDK contiene + herramientas de desarrollo de JRE, JRE contiene JVM + clase libraries.where JVM contiene (cargador de clases & verificador de código de bytes) y el motor de ejecución (intérprete & JIT) .el compilador convertir el código fuente en códigos de bytes intermedios. Este código de bytes se le da a JVM para su ejecución. El cargador de clases en la JVM cargará los códigos de bytes y enlazará con las bibliotecas de clases proporcionadas por el JRE. se le dará código al motor de ejecución en la JVM que interpreta el código no repetido y compila el código repetido (por ejemplo bucles) convirtiéndolo finalmente en código máquina (código objeto). Luego dará el código máquina al microprocesador para su ejecución. Cualquier duda: [email protected]

+0

Cualquier duda: [email protected] es Extra –

+0

JDK = JRE + Herramientas de desarrollo = (Bibliotecas de clase JVM +) + Herramientas de desarrollo – mmcrae

1

JVM - La máquina virtual Java es una especificación para que un entorno de ejecución ejecute código de bytes. JRE - entorno de tiempo de ejecución de Java es la implementación de jvm JDK - kit de desarrollo de java, es JRE + herramientas de desarrollo.

JRE tiene todas las bibliotecas de clases que pueden admitir la aplicación Java. Cuando una aplicación Java está a punto de ejecutarse, JRE creará una instancia JVM, que realmente ejecutará la aplicación java.

0

JRE es un entorno, para ejecutar cualquier programa Java localmente.

JVM es donde es responsable de convertir el código de bytes en código máquina específica y hace que el programa Java de una sola escritura ejecutar en cualquier lugar.

1

En términos simples: -

JDK = JRE + herramientas de desarrollo/depuración, donde JDK es nuestro paquete completo para trabajar con Java, desde la creación hasta la compilación de funcionamiento it.On otra parte JRE es sólo del funcionamiento de 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 compilador JIT convierte el código de bytes en el código específico de la máquina.

JVM is Java Virtual Machine -- the JVM actually runs Java bytecode. 
JDK is Java Developer Kit -- the JDK is what you need to compile Java source code. 
JRE is Java Runtime Environment -- is what you need to run a Java program and contains a JVM, among other things. 
Cuestiones relacionadas