Különbség a JRE és a JVM között

Itt megértjük, mi a JVM (Java virtuális gép), mi a JRE (Java Runtime Environment). Ezen felül megvizsgáljuk a JVM és a JRE közötti főbb különbségeket is. Ebben a témában megismerjük a JRE vs JVM-et.

Mi a JVM?

A Java virtuális gép (JVM) egy virtuális gép, amely a számítógépen található, és végrehajtja a java byte kódot. A Java virtuális gép csak a bájtkódot érti, ezért van egy javac fordító, amely a forráskódot (.java) bájtkódra (.class) alakítja, amelyet a JVM ért. Noha a különböző operációs rendszerekbe telepített JVM eltér, a JVM által előállított output konzisztens az összes operációs rendszerben.

A JVM alkotóelemei

A JVM-ben a következő különféle komponensek vannak jelen:

1. ClassLoader: Az osztálybetöltő fő funkciója a .class fájl olvasása és a byte kód mentése a JVM metódus területére.

2. Módszertani terület: A Java Virtuálisgép módszer területe az osztálytöltő által betöltött osztályok összes osztályához kapcsolódó információt tárolja.

3. Halom terület: A halom terület a JVM része, ahol a létrehozott objektumok találhatók. A JVM osztályobjektumot hoz létre minden .class fájlhoz, amelyet az osztálybetöltő tölt be.

4. Verem: A JVM ez a része ideiglenes változókat tárol.

5. PC-nyilvántartások: A PC-nyilvántartások nyilvántartást vezetnek arról, hogy mely utasításokat hajtották végre és melyeket hajtanak végre a sorban.

6. Natív módszer verem: A natív módszer verem tartalmazza a natív kód információkat. A java nyelvtől eltérő programozási nyelveken írta.

7. Végrehajtó motor: A jvm végrehajtó motorja felelős a bájtkód vagy a lefordított kód végrehajtásáért. A jvm végrehajtó motorja a következőket tartalmazza:

  • Virtuális processzor: A virtuális processzor felelős az operációs kódok egymás utáni végrehajtásáért.
  • Tolmács: A tolmács értelmezi a bájtkódot. Feladata a bájtkód adatfolyamának elolvasása, a bájtkód utasítások értelmezése és végrehajtása a virtuális processzoron keresztül. A tolmács hátránya azonban, hogy amikor egy módszert többször hívnak, minden alkalommal új értelmezésre van szükség.
  • Just-In-Time (JIT) fordító: Alapvetően a teljesítmény javítására használják. Arra használják, hogy kiküszöböljék a tolmács hátrányát, amikor a JVM ismétlődő kódot talál, és a JIT fordítót használja, amely összeállítja a bytekódot, és natív kódmá változtatja. Ezt a natív kódot közvetlenül használják az ismételt módszerhívásokhoz, ami viszont drasztikusan javítja a teljesítményt.

A fenti felsorolt ​​részletek alapján a JVM funkciói a következőképpen foglalhatók össze:

  • A JVM betölti a kódot.
  • A JVM ellenőrzi a betöltött kódot.
  • A JVM végrehajtja a kódot, ha érvényes.
  • A JVM futási környezetet biztosít.

A JVM működése az alábbiak szerint magyarázható:

Mi a JRE?

A Java Runtime Environment a Java fejlesztőkészlet (JDK) része.

A Java Runtime Environment (JRE) egy olyan telepítő csomag, amely környezetet biztosít a java kód futtatásához. Meg kell jegyezni, hogy a JRE-t csak a végfelhasználók használják, akik a java kód futtatását akarják. A JRE benne van a JVM, azaz a JVM a JRE részhalmaza. A Java Runtime Environment a következőket tartalmazza:

Telepítési technológiák.

  1. Felhasználói interfész eszközkészletek, mint például az Ablaki Ablak Eszköztár (AWT), a Swing, a Java elnevezés és a címtár felület (JBDI), Java 2D, Nyomtatási szolgáltatás, Drag and Drop (DND) stb.
  2. Lang és util könyvtárak, például lang és util, menedzsment, zip, reflexió, JAR, Preference API, Regular Expressions párhuzamosság és többszálú segédprogramok, naplózás és mások.
  3. Alap könyvtárak, beleértve a bemeneti-kimeneti (I / 0), a matematikát, a hálózatépítést, a felülbíráló mechanizmus szérializálását, a Java XML elemzőket, a Java natív interfészt (JNI).
  4. Integrációs könyvtárak, például az interfész meghatározási nyelve, a Java DataBase kapcsolat (JDBC), a Remote Method Invocation (RMI), a Java elnevezés és a Directory Interface (JNDI).
  5. Java virtuális gép (JVM).

Összehasonlítás a JRE és a JVM között (Infographics)

Az alábbiakban bemutatjuk a 8 legfontosabb különbséget a JRE és a JVM között

Főbb különbségek a JRE és a JVM között

Az alábbiakban bemutatjuk a legfontosabb különbségeket a JRE és a JVM között

  • A JRE fő funkciója, hogy futtató környezetet biztosítson a java alkalmazások futtatásához, míg a JVM végrehajtja a bájtkódot gépi kódká konvertálására és biztosítja a platform függetlenségét.
  • A JRE konténerként, a jvm tartalomként működik.
  • A JRE JVM + könyvtárakból áll az alkalmazások futtatásához, míg a jvm csak futási környezetet tartalmaz a Java bytecode végrehajtásához.

Összehasonlító táblázat a JRE és a JVM között

Beszéljük meg a JRE és a JVM közötti összehasonlítást

Az összehasonlítás alapjaJREJVM
Teljes alakA JRE teljes formája a Java Runtime Environment.A JVM teljes formája a Java virtuális gép.
MeghatározásA Java Runtime Environment a Java Development Kit (JDK) része, amely JVM-ből, alaposztályokból és támogató könyvtárakból áll. Fő funkciója a java kód futtatásához futási környezet biztosítása.A Java virtuális gép (JVM) olyan, mint egy virtuális számítógép, amely előre összeállított utasításokat hajt végre. Amikor egy Java fordító lefordítja a forráskódot, utasítások halmazát generálja bytecode néven (.class fájlok). A Java virtuális gép értelmezi a bájtkód utasításokat, és gépi kódokká konvertálja azokat végrehajtásuk céljából.
Konténer és tartalomA JRE konténerként működik, amely JVM-et, könyvtárakat és más fájlokat tartalmaz. Ezenkívül a JRE nem tartalmaz olyan fejlesztési eszközöket, mint a fordító és a hibakereső.A JVM a JRE része. A JRE részhalmazának tekinthető.
Fejlesztési célFejlesztési célokra nem használják.Fejlesztési célokra használják.
Futó célA Java kód futtatásához használható.A java kód futtatásához nem használható.
ÖsszetéveA JRE az JVM + könyvtárakból áll az alkalmazások futtatásához.Csak a Java bytecode végrehajtására szolgáló futási környezetet tartalmaz.
RészhalmazaEz a JDK részhalmaza.Ez a JRE részhalmaza.
EszközökOsztálykönyvtárakat tartalmaz, amelyek a programok futtatásához szükségesek.Nem tartalmaz eszközöket.

Következtetés - JRE vs JVM

A cikkből világosan megértjük mind a Java Runtime Environment (JRE), mind a Java virtuális gép (JVM) fogalmát, amelyek a Java Development Kit (JDK) legfontosabb részei.

Ajánlott cikkek

Ez egy útmutató a JRE vs JVM-hez. Itt megvitattuk a JRE vs JVM kulcsfontosságú különbségeket az infographics és az összehasonlító táblázat segítségével. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

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

Kategória: