2010-05-11 24 views
33

Penso che la JVM sia simile a .NET Framework, corretto? Allora cos'è il JRE?Qual è la differenza tra JRE e JVM?

Grazie!

+1

mappe JVM al CLR di .NET Framework – RBT

+3

Possibile duplicato (http [Qual è la differenza tra JVM, JDK, JRE e OpenJDK?]: // StackOverflow.it/questions/11547458/what-is-the-difference-between-jvm-jdk-jre-openjdk) – Nayuki

risposta

27

JRE è l'ambiente in cui viene eseguita la macchina virtuale.

JRE - Java Runtime Environment

JVM - Java Virtual Machine

JRE è il contenitore, JVM è il contenuto.

0

Secondo Wikipedia:

La JVM, che è l'istanza del 'JRE' (Java Runtime Environment), entra in azione quando viene eseguito un programma Java. Al termine dell'esecuzione, questa istanza viene raccolta automaticamente. JIT è la parte della JVM che viene utilizzata per accelerare i tempi di esecuzione. JIT compila parti del codice byte che hanno funzionalità simili allo stesso tempo, e quindi riduce la quantità di tempo necessaria per la compilazione.

3

JRE include la JVM, che è ciò che effettivamente interpreta il codice byte e esegue il programma. Per fare ciò, JVM utilizza librerie e altri file forniti da JRE.

Credo che diresti che JRE è come .NET Framework, mentre JVM è come .NET CLR. Probabilmente ci sono alcune differenze importanti di cui non sono a conoscenza.

+0

"Il JRE è come il .NET Framework, mentre la JVM è come il .NET CLR" è utile avere una citazione utile . –

1

La JVM è il processo che esegue il codice Java e JRE sono tutti i file distribuiti per formare l'"ambiente" in cui viene eseguita la JVM.

61

Java Runtime Environment contiene JVM, librerie di classi e altri file di supporto.

non contiene alcun tool di sviluppo come il compilatore, debugger, ecc

realtà JVM esegue il programma, e utilizza le librerie di classi, e altri

file di supporto forniti in JRE.

JRE = JVM + Java Pacchetti classi (come util, matematica, lingua, AWT, altalena ecc) + librerie di runtime.

Se si desidera eseguire qualsiasi programma Java, è necessario che JRE sia installato nel sistema.

JRE è la casella e JVM è il contenuto della casella.

In parole semplici JRE = JVM + rt.jar

dove rt.jar contiene lang, util, AWT, altalena, matematica ecc librerie o file compilati .class utilizzati per eseguire il nostro programma.

Per saperne di più su differenza tra JVM e JRE-CLICK HERE

+3

Grazie. Questo è molto meglio della risposta accettata. –

5

La semplice risposta a questa domanda è JRE è il super-set di JVM.

Cioè, il codice compilato con java compiler (javac) produce il codice byte (file .class). jre che è il sottoinsieme di jdk contiene le librerie richieste insieme a jvm. jvm esegue il byte-code e produce codice macchina che si trova nella forma leggibile dalla macchina con il supporto delle librerie richieste per quel codice.

per visualizzare la configurazione di jvm vai a: C: \ Program Files \ Java \ jre7 \ lib \ i386 \ jvm.cfg
Questo file contiene l'elenco dei JVM che può essere utilizzato come opzione per Java, javac, ecc

8

Prima di tutto JDK contiene JRE + strumenti di sviluppo, JRE contiene JVM + classe libraries.where JVM contiene (class loader & byte code verificatore) e il motore di esecuzione (interprete & JIT) .il compilatore convertirà il codice sorgente in codici byte intermedi.questo codice byte è assegnato a JVM per l'esecuzione.il caricatore di classi nella JVM carica i codici byte e fa il collegamento con le librerie di classi fornite da JRE.quindi il codice verrà assegnato al motore di esecuzione nella JVM che interpreta il codice non ripetuto e compila il codice ripetuto (ad esempio i cicli), convertendo infine in codice macchina (codice oggetto). Quindi darà il codice macchina al microprocessore per l'esecuzione. Qualsiasi dubbio: [email protected]

+0

Qualsiasi dubbio: [email protected] è Extra –

+0

JDK = JRE + Dev Tools = (JVM + Class Libraries) + Dev Tools – mmcrae

1

JVM - java virtual machine è una specifica per un ambiente run-time per l'esecuzione di byte code. JRE - ambiente di runtime java è l'implementazione di jvm JDK - kit di sviluppo java, è JRE + strumenti di sviluppo.

JRE ha tutte le librerie di classi in grado di supportare l'applicazione java. Quando un'applicazione Java sta per essere eseguita, JRE creerà un'istanza JVM, che eseguirà effettivamente l'applicazione java.

0

JRE è un ambiente, al fine di eseguire qualsiasi programma Java localmente.

JVM è il luogo in cui è responsabile della conversione del codice Bytecode in codice macchina specifico e rende il programma java write-once-run-anywhere.

1

In parole povere: -

JDK = JRE + Strumenti di sviluppo/debug, dove JDK è il nostro pacchetto completo per lavorare con Java, dalla creazione di compilazione fino in esecuzione it.On invece JRE è solo di gestione di codice (codice byte).

Nota: - Sia che stiamo installando JDK o JRE, JVM verrà fornito in bundle con entrambi i pacchetti e JVM è la parte in cui il compilatore JIT converte il codice byte nel codice specifico della macchina.

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