Erinevus JRE ja JVM vahel

Siit saame aru, mis on JVM (Java virtuaalmasin), mis on JRE (Java Runtime Environment). Lisaks uurime ka peamisi erinevusi JVMi ja JRE vahel. Selles teemas tutvume JRE vs JVM-iga.

Mis on JVM?

Java virtuaalmasin (JVM) on virtuaalne masin, mis asub teie arvutis ja täidab javabaidikoodi. Java virtuaalmasin mõistab ainult baitkoodi, sellepärast on olemas javaci kompilaator, mis teisendab lähtekoodi (.java) baitkoodiks (.class), mida JVM mõistab. Ehkki eri opsüsteemidesse installitud JVM on erinev, on JVM-i toodetud väljund ühtlane kõigis opsüsteemides.

JVM komponendid

JVM-is esinevad erinevad komponendid on järgmised:

1. ClassLoader: Klassilaaduri põhifunktsioon on .class-faili lugemine ja baidikoodi salvestamine JVM-i meetodialasse.

2. Meetodi piirkond: Java virtuaalmasina metoodikaala salvestab kogu klassidega seotud teabe kõigi klassilaaduri laaditavate klasside kohta.

3. Hunnikuala: Hunnikuala on JVMi osa, kus asuvad loodud objektid. JVM loob klassiobjekti iga klassilaaduri laaditud .class-faili jaoks.

4. Pinu: JVMi see osa salvestab ajutised muutujad.

5. PC-registrid: PC-registrid peavad arvestust selle kohta, millised käsud on täidetud ja mis on järgmine, mida täita.

6. Natiivmeetodi pinu: Algmeetodi pinu sisaldab loodusliku koodi teavet. See on kirjutatud muus programmeerimiskeeles kui java.

7. Täitmismootor : Jvm-i käivitusmootor vastutab baitkoodi või kompileeritud koodi täitmise eest. Jvm-i käivitusmootor sisaldab:

  • Virtuaalne protsessor: virtuaalne protsessor vastutab operatsioonikoodide järjestikuse täitmise eest.
  • Tõlk : tõlk tõlgendab baidikoodi. See vastutab baidikoodi voo lugemise, baidikoodide juhiste tõlgendamise ja nende virtuaalse protsessori kaudu täitmise eest. Kuid tõlgi puuduseks on see, et kui ühte meetodit nimetatakse mitu korda, on iga kord vaja uut tõlgendust.
  • Just-in-Time (JIT) koostaja: seda kasutatakse põhiliselt jõudluse parandamiseks. Seda kasutatakse tõlgi ebasoodsa olukorra lahendamiseks, kui JVM leiab korduva koodi. Ta kasutab JIT-i kompilaatorit, mis kompileerib baitkoodi ja muudab selle natiivkoodiks. Seda natiivkoodi kasutatakse otse korduvates meetodikõnedes, mis omakorda parandab jõudlust järsult.

Ülaltoodud komponentide põhjal võib JVM-i funktsioonid kokku võtta järgmiselt:

  • JVM laadib koodi.
  • JVM kontrollib laaditud koodi.
  • JVM käivitab koodi, kui see on kehtiv.
  • JVM pakub käituskeskkonda.

JVMi tööd saab selgitada järgmise voolu kaudu:

Mis on JRE?

Java Runtime Environment on osa Java arenduskomplektist (JDK).

Java Runtime Environment (JRE) on installipakett, mis pakub keskkonda java-koodi käitamiseks. Tuleb märkida, et JRE-d kasutavad ainult lõppkasutajad, kes soovivad Java-koodi käivitada. JRE sisaldab selles JVM-i, st JVM on JRE alamhulk. Java Runtime Environment sisaldab järgmist:

Kasutuselevõtu tehnoloogiad.

  1. Kasutajaliidese tööriistakomplektid, nagu abstraktne akna tööriistakomplekt (AWT), kiik, Java nimetamine ja kataloogiliides (JBDI), Java 2D, printimisteenus, lohistamine (DND) jne.
  2. Lang- ja util-teegid nagu lang ja util, haldus, zip, peegeldus, JAR, Preference API, Regulaarsete avaldiste samaaegsus ja mitmekordne utiliit, Logimine ja muud.
  3. Baasraamatukogud, sealhulgas sisend-väljund (I / 0), matemaatika, võrgundus, järjestuse ületamise mehhanism, Java XML-parserid, Java-loomulik liides (JNI).
  4. Integreerimisraamatukogud, näiteks liidese määratluskeel, Java DataBase Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming ja Directory Interface (JNDI).
  5. Java virtuaalmasin (JVM).

JRE ja JVM võrdlus (infograafika)

Allpool on toodud 8 peamist erinevust JRE ja JVM vahel

Peamised erinevused JRE ja JVM vahel

Järgnevalt on toodud peamised erinevused JRE ja JVM vahel

  • JRE põhiülesanne on pakkuda jaavarakenduste käitamiseks keskkonda, kusjuures JVM teisendab täitmiseks baitkoodi masinkoodiks ja tagab platvormi sõltumatuse.
  • JRE toimib konteinerina ja jvm sisuna.
  • JRE koosneb JVM + teekidest rakenduste käitamiseks, samas kui jvm sisaldab ainult käituskeskkonda Java baitkoodi täitmiseks.

JRE ja JVM võrdlustabel

Arutleme JRE vs JVM ülemise võrdluse üle

Võrdluse alusJREJVM
TäisvormJRE täielik vorm on Java Runtime Environment.JVM-i täielik vorm on Java Virtual Machine.
DefinitsioonJava Runtime Environment on osa Java Development Kitist (JDK), mis koosneb JVM-ist, põhiklassidest ja tugiteekidest. Selle põhifunktsioon on Java-koodi käivitamiseks käitamiskeskkonna pakkumine.Java virtuaalmasin (JVM) on nagu virtuaalne arvuti, mis käivitab eelkompileeritud avalduste komplekti. Kui Java kompilaator komponeerib lähtekoodi, genereerib see juhiste komplekti, mida nimetatakse baitkoodiks (.class failid). Java virtuaalmasin tõlgendab baitkoodide juhiseid ja teisendab need nende täitmiseks masinkoodideks.
Konteiner ja sisuJRE toimib konteinerina, mis sisaldab JVM-i, raamatukogusid ja muid faile. Lisaks ei sisalda JRE selliseid arendusvahendeid nagu kompilaator ja silur.JVM on osa JRE-st. Seda võib pidada JRE alamhulgaks.
Arengu eesmärkSeda ei kasutata arenduseesmärkidel.Seda kasutatakse arenduseesmärkidel.
Töötav eesmärkSeda kasutatakse java-koodi käivitamiseks.Seda ei kasutata Java-koodi käivitamiseks.
KoosnebJRE koosneb rakenduste käitamiseks JVM + teekidest.See sisaldab ainult käituskeskkonda Java baitkoodi täitmiseks.
AlamhulkSee on JDK alamhulk.See on JRE alamhulk.
TööriistadSee sisaldab klasside raamatukogusid, mida on vaja programmide käitamiseks.See ei sisalda tööriistu.

Järeldus - JRE vs JVM

Artiklist on meil selge arusaam nii Java Runtime Environment (JRE) kui ka Java Virtual Machine (JVM), mis on Java Development Kit (JDK) kõige olulisemad osad.

Soovitatavad artiklid

See on JRE vs JVM juhend. Siin oleme arutanud JRE vs JVM peamisi erinevusi infograafika ja võrdlustabeliga. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Java vs Node JS
  2. Groovy vs Java
  3. Java vs C #
  4. Java vs JavaScripti

Kategooria: