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.
- 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.
- 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.
- 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).
- 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).
- 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 alapja | JRE | JVM |
Teljes alak | A JRE teljes formája a Java Runtime Environment. | A JVM teljes formája a Java virtuális gép. |
Meghatározás | A 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 tartalom | A 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él | Fejlesztési célokra nem használják. | Fejlesztési célokra használják. |
Futó cél | A Java kód futtatásához használható. | A java kód futtatásához nem használható. |
Összetéve | A 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észhalmaza | Ez a JDK részhalmaza. | Ez a JRE részhalmaza. |
Eszközök | Osztá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 -
- Java vs Node JS
- Groovy vs Java
- Java vs C #
- Java vs JavaScript