La differenza tra JDK, JRE e JVM è una delle domande più popolari dell’intervista. Ti potrebbe anche essere chiesto di spiegare JDK vs JRE vs JVM.
Differenza tra JDK, JRE e JVM
JDK, JRE e JVM sono concetti fondamentali del linguaggio di programmazione Java. Non usiamo questi concetti nella programmazione. Tuttavia, come sviluppatore Java, dovremmo conoscerli.
JDK
Java Development Kit noto anche come JDK è il componente principale di Java Environment e fornisce tutti gli strumenti, eseguibili e binari necessari per compilare, eseguire il debug ed eseguire un programma Java.
JDK è un software specifico della piattaforma e ecco perché abbiamo programmi di installazione separati per sistemi Windows, Mac e Unix.
Possiamo dire che JDK è il superset di JRE poiché contiene JRE con compilatore Java, debugger e classi principali.
JVM
JVM è il cuore del linguaggio di programmazione Java. Quando eseguiamo un programma Java, JVM è responsabile della conversione del codice byte nel codice specifico della macchina.
JVM è anche dipendente dalla piattaforma e fornisce le funzioni java principali come la gestione della memoria, la garbage collection, la sicurezza, ecc.
JVM è personalizzabile e possiamo usare le opzioni Java per personalizzarla. Ad esempio, allocare memoria minima e massima a JVM.
JVM è chiamata virtuale perché fornisce un’interfaccia che non dipende dal sottostante sistema operativo e hardware della macchina.
Questa indipendenza dall’hardware e dal sistema operativo rende il programma java che può essere eseguito una sola volta.
JRE
JRE è il implementazione di JVM. Fornisce una piattaforma per eseguire programmi java. JRE è costituito da JVM, binari Java e altre classi per eseguire correttamente qualsiasi programma.
JRE non contiene strumenti di sviluppo come compilatore Java, debugger, JShell, ecc.
Se vuoi solo eseguire un programma java, puoi installare solo JRE. Non è necessario JDK perché non è richiesto lo sviluppo o la compilazione del codice sorgente Java.
Ora che abbiamo una conoscenza di base di JDK, JVM e JRE, esaminiamo la differenza tra loro.
JDK vs JRE vs JVM
Diamo un’occhiata ad alcune delle differenze importanti tra JDK, JRE e JVM.
- JDK è a scopo di sviluppo mentre JRE serve per eseguire i programmi java.
- JDK e JRE contengono entrambi JVM in modo che possiamo eseguire il nostro programma java.
- JVM è il cuore del linguaggio di programmazione Java e fornisce indipendenza dalla piattaforma .
Just-in-time Compiler (JIT)
A volte nei libri di testo troverai JIT insieme a JVM, JDK e JRE. JIT fa parte della JVM che ottimizza il processo di conversione del codice byte in linguaggio specifico della macchina. Compila codici byte simili allo stesso tempo e riduce il tempo complessivo impiegato per la compilazione del codice byte in un linguaggio specifico per la macchina.