JVM vs JRE
Java on kõrgetasemeline programmeerimiskeel, mis on ainulaadne viisil, kuidas sellele kirjutatud programme saab täita peaaegu igal platvormil. Kuid enne programmi arvutis käitamist peate installima teatud tarkvara; mõned inimesed nimetavad seda JVM-ks, teised aga JRE-ks. Ehkki enamik inimesi viitab ühele ja samale asjale, on JVMi ja JRE vahel teatavaid erinevusi. JVM on tegelikult rakendus, mis on osa JRE-st. Rakenduse käivitamiseks vajate JRE-d, mis sisaldab JVM-i.
JVM tähistab Java virtuaalmasinat ja see loob virtuaalse arvuti, mis mõistab koodi, millega Java programmid kirjutatakse. Java programme ei kirjutata OS-i spetsiifilisel viisil. See annab sellele võimaluse töötada mis tahes platvormil, kuid nõuab JVM-i kasutamist Java baitkoodist käskude põhimõtteliseks tõlkimiseks konkreetsesse masinkoodi.
JVM ei sisalda kõike, mida kõik programmid vajavad. Mõned neist asuvad nn pakettklassides. Sellised paketid nagu AWT, Swing, lang ja paljud teised pakuvad JVM-ile keerukamaid võimalusi. Kui ühendate kõik need toetavad failid koos JVM-iga, siis nimetatakse seda JRE või Java Runtime Environment. Kõige lihtsamalt öeldes on JRE kombinatsioon JVM-ist ja paljudest toetavatest failidest, näiteks pakettidest, mis pakuvad keskkonda, kus Java-programm töötab.
Kuna lõppkasutaja tõenäoliselt Java rakendusi ei redigeeri ega loo, ei sisalda JRE Java-rakenduste kodeerimise, kontrollimise ja silumisega seotud faile; kõik, mis asub teises Java tarkvarapaketis. See vähendab JRE suurust, et enamikul kasutajatel oleks JRE allalaadimine ja installimine lihtsam ja kiirem. Igal tarkvaraplatvormil (st Windows, Linux, Mac) on oma JRE ja JVM, mis töötaksid ainult sellel ja mitte üheski teises. Seega tasub teil oma OS-i jaoks konkreetset JRE-d alla laadida. Iga JRE versioon sisaldaks alati oma täiendavat JVM-i, nii et vale JVM-i saamiseks pole kahtlust.
Kokkuvõte:
1.JVM on vaid üks osa JRE-st
2.JRE sisaldab Java paketi klasse peale JVM-i