Razlika med JRE in JVM

Tu bomo razumeli, kaj je JVM (Java virtualni stroj), kaj je JRE (Java Runtime Environment). Poleg tega bomo preučili tudi glavne razlike med JVM in JRE. V tej temi bomo spoznali JRE proti JVM.

Kaj je JVM?

Java Virtual Machine (JVM) je navidezni stroj, ki prebiva v vašem računalniku in izvaja java byte kodo. Java Virtual Machine razume samo bajtno kodo, zato obstaja javac prevajalnik, ki pretvori izvorno kodo (.java) v bajtno kodo (.class), ki jo razume JVM. Čeprav je JVM, nameščen v različnih operacijskih sistemih, drugačen, je proizvodnja, ki jo proizvaja JVM, skladna v vseh operacijskih sistemih.

Sestavni deli JVM

V JVM so naslednje komponente:

1. ClassLoader: Glavna funkcija nakladalnika razreda je prebrati datoteko .class in shraniti bajt kodo v področje metode JVM.

2. Področje metode: Področje metode Java Virtual Machine hrani vse informacije, povezane z razredi vseh razredov, ki jih naloži nalagalec razreda.

3. Heap Area: Heap Area je del JVM, kjer se nahajajo ustvarjeni predmeti. JVM ustvari predmet razreda za vsako datoteko .class, ki jo naloži nalagalec razreda.

4. Sklad: Ta del JVM hrani začasne spremenljivke.

5. Registri osebnih računalnikov: Registri osebnih računalnikov vodijo evidenco o tem, katera navodila so bila izvedena in katera je naslednja vrstica.

6. Stack Native Method: Native Native method vsebuje podatke izvorne kode. Napisana je v drugih programskih jezikih kot java.

7. Izvajalnik: Izvedbeni mehanizem jvm je odgovoren za izvedbo bajt kode ali sestavljene kode. Izvedbeni mehanizem jvm vsebuje:

  • Navidezni procesor: Navidezni procesor je odgovoren za zaporedno izvajanje operacijskih kod.
  • Tolmač: Tolmač interpretira bajt kodo. Odgovoren je za branje toka bajtne kode, interpretacijo navodil bytecode in njihovo izvajanje prek virtualnega procesorja. Toda pomanjkljivost tolmača je, da kadar se ena metoda imenuje večkrat, vsakič obstaja zahteva po novi razlagi.
  • Kompilator Just-In-Time (JIT): V osnovi se uporablja za izboljšanje zmogljivosti. Uporablja se za premagovanje pomanjkljivosti tolmača, ko JVM najde ponavljajočo kodo, uporablja prevajalnik JIT, ki sestavi bajt kodo in jo spremeni v izvorno kodo. Ta izvorna koda se neposredno uporablja pri večkratnih klicih metod, kar posledično drastično izboljša zmogljivosti.

Iz zgoraj naštetih podrobnosti lahko funkcije JVM povzamemo kot:

  • JVM naloži kodo.
  • JVM preveri naloženo kodo.
  • JVM izvrši kodo, če je veljavna.
  • JVM zagotavlja okolje izvajanja.

Delovanje JVM je mogoče razložiti s spodnjim tokom:

Kaj je JRE?

Java Runtime Environment je del razvojnega kompleta Java (JDK).

Java Runtime Environment (JRE) je namestitveni paket, ki zagotavlja okolje za zagon kode Java. Opozoriti je treba, da JRE uporabljajo samo končni uporabniki, ki želijo zagnati kodo Java. JRE vsebuje v sebi JVM, ki je JVM, je podvrsta JRE. Java Runtime Environment vključuje naslednje:

Tehnologije uvajanja.

  1. Orodja za uporabniški vmesnik, kot so Abstract Window Toolkit (AWT), Swing, Java poimenovanje in imenik (JBDI), Java 2D, Print Service, Drag and Drop (DND) itd.
  2. Knjižnice jezikov in uporabnih programov, kot so lang in util, upravljanje, zip, odsev, JAR, Preference API, Regular Express Concurrency in večstranske pripomočke, beleženje in druge.
  3. Osnovne knjižnice, vključno z vhodno-izhodnim (I / 0), matematiko, mreženjem, mehanizmom preglasitve serializacija, Java XML razčlenjevalci, Java Native Interface (JNI).
  4. Integracijske knjižnice, na primer jezik opredelitve vmesnikov, povezljivost Java DataBase (JDBC), poziv na daljavo (RMI), Java poimenovanje in vmesnik imenika (JNDI).
  5. Java Virtual Machine (JVM).

Primerjava med JRE in JVM (Infographics)

Spodaj je zgornjih 8 razlik med JRE in JVM

Ključne razlike med JRE in JVM

Spodaj so ključne razlike med JRE in JVM

  • Glavna funkcija JRE je zagotoviti izvajalno okolje za zagon java aplikacij, medtem ko JVM pretvori bajtno kodo v strojno kodo za izvajanje in zagotavlja neodvisnost platforme.
  • JRE deluje kot vsebnik, jvm pa kot vsebina.
  • JRE je sestavljen iz knjižnic JVM + za zagon aplikacij, medtem ko jvm vsebuje samo okolje za izvajanje za izvajanje bajt-kod Java.

Primerjalna tabela med JRE in JVM

Pogovorimo se o zgornji primerjavi med JRE in JVM

Osnova za primerjavoJREJVM
Polni obrazecPopolna oblika JRE je Java Runtime Environment.Popolna oblika JVM je Java Virtual Machine.
OpredelitevJava Runtime Environment je del Java Development Kit (JDK), ki ga sestavljajo JVM, osnovni razredi in podporne knjižnice. Njegova glavna funkcija je zagotoviti izvajalno okolje za zagon kode Java.Java Virtual Machine (JVM) je kot navidezni računalnik, ki izvaja nabor predhodno sestavljenih stavkov. Ko prevajalnik Java pripravi izvorno kodo, ustvari niz navodil, imenovanih bytecode (.class datoteke). Java Virtual Machine interpretira navodila bytecode in jih pretvori v strojno kodo za njegovo izvedbo.
Vsebnik in vsebinaJRE deluje kot vsebnik, ki vsebuje JVM, knjižnice in druge datoteke. Poleg tega JRE ne vsebuje razvojnih orodij, kot sta prevajalnik in odpravljanje napak.JVM je del JRE. Lahko ga obravnavamo kot podskupino JRE.
Namen razvojaNe uporablja se za razvojne namene.Uporablja se za razvojne namene.
Namen tekaUporablja se za izvajanje java kode.Ne uporablja se za izvajanje kode Java.
Sestavljen izJRE je sestavljen iz knjižnic JVM + Knjižnice za zagon aplikacij.Vsebuje samo izvajalno okolje za izvajanje Java bytecode.
PodmnožicaJe podvrsta JDK.Je podvrsta JRE.
OrodjaVsebuje knjižnice razredov, ki so potrebne za zagon programov.Ne vsebuje nobenega orodja.

Zaključek - JRE proti JVM

Iz članka jasno razberemo tako Java Runtime Environment (JRE) kot Java Virtual Machine (JVM), ki sta najpomembnejša dela Java Development Kit (JDK).

Priporočeni članki

To je vodnik za JRE proti JVM. Tu smo razložili ključne razlike JRE proti JVM z infografiko in primerjalno tabelo. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Java proti vozlišču JS
  2. Groovy proti Javi
  3. Java v primerjavi s C #
  4. Java vs JavaScript