Razlika med JVM in JRE

JVM proti JRE

Java je programski jezik na visoki ravni, ki je edinstven po tem, da se programi, napisani na njem, lahko izvajajo na skoraj kateri koli platformi. Toda preden lahko program zaženete v računalniku, morate namestiti določeno programsko opremo; nekateri jo imenujejo JVM, drugi pa JRE. Čeprav se večina ljudi sklicuje na isto stvar, obstajajo določene razlike med JVM in JRE. JVM je pravzaprav aplikacija, ki je del JRE. Če želite zagnati aplikacijo, potrebujete JRE, ki vsebuje JVM.

JVM pomeni Java Virtual Machine in ustvari navidezni računalnik, ki razume kodo, v katero so napisani programi Java. Programi Java niso napisani na poseben način OS. To mu omogoča, da lahko deluje na kateri koli platformi, vendar zahteva uporabo JVM za prevajanje ukazov iz bajt-kode Java v določeno strojno kodo.

V JVM ni vse, kar potrebujejo vsi programi. Nekateri se nahajajo v tako imenovanih razredih paketov. Paketi, kot so AWT, Swing, lang in mnogi drugi, zagotavljajo bolj zapletene zmogljivosti JVM. Ko združite vse te podporne datoteke skupaj z JVM, se to imenuje JRE ali Java Runtime Environment. Najpreprosteje povedano, JRE je kombinacija JVM in številnih podpornih datotek, kot so paketi, ki zagotavljajo okolje, iz katerega se lahko zažene program Java.

Ker končni uporabnik verjetno ne bo urejal ali ustvarjal aplikacij Java, JRE ne vsebuje nobenih datotek, povezanih s kodiranjem, preverjanjem in odpravljanjem napak z aplikacijami Java; vse, kar se nahaja v drugem programskem paketu Java. To zmanjšuje velikost JRE, da bo večini uporabnikov lažji in hitrejši prenos in namestitev JRE. Vsaka programska platforma (tj. Windows, Linux, Mac) ima svoje JRE in JVM, ki bi delovali samo na njej in v nobeni drugi. Zato morate biti pozorni pri prenosu določenega JRE-ja za OS, ki ga imate. Vsaka različica JRE bi vedno vsebovala dopolnilni JVM, tako da ni dvoma o napačnem JVM.

Povzetek:

1.JVM je le en del JRE
2.JRE vsebuje razredi paketov Java poleg JVM