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

JVM vs JRE

A Java egy platformközi programozási nyelv. Ezenkívül betartja az „egyszer írj, bárhová fuss” elvet. A Java nyelven írt programot a Java fordító beépítheti a Java bytecode-ba. Ezután a bytecode bármilyen platformon végrehajtható, amelyen a JRE (Java Runtime Environment) fut. A JRE tartalmazza a JVM-et (Java Virtual Machine), az alapkönyvtárakat (amelyek a Java API-t megvalósítják) és más támogató fájlokat. A JVM egy absztrakt számítástechnikai gép, amely közvetítőként működik a platform-specifikus JRE és a Java kód között.

Mi a JVM??

A JVM egy olyan típusú virtuális gép, amelyet a gépek használnak a Java bytecode végrehajtására. A Sun Microsystems (aki a Java-t addig fejlesztette, amíg azt az Oracle nem egészen a közelmúltban megvásárolta) szerint a világon több mint 4 milliárd JVM-kompatibilis eszköz van. Pontosabban: a Java Virtual Machine egy absztrakt számítástechnikai gép, amelyet szabványos hardveren és operációs rendszeren valósítanak meg. A JVM egyik fontos funkciója az automatikus kivételkezelés. A JVM-et általában a szabványos könyvtárak gyűjteménye kíséri. Valójában a JRE egy olyan csomag, amely tartalmazza a JVM-et és a Java API-t megvalósító osztályokat. A JVM egy nagyon fontos összetevő, amely beilleszti a Java programozási nyelv „egyszeri fordítás, bárhová futtatás” jellegét. Amíg a JVM fut, a Java kód futhat rajta, függetlenül a gépen használt platformtól. Ez az oka annak, hogy a Java-t platformközi vagy többplatformi nyelvnek hívják.

Mi a JRE??

A JRE a végrehajtási környezet, amelyen a Java kód fut. A JRE általában a JVM-ből, a szabványos alaposztályokból (amelyek az alap Java API-t valósítják meg) és más támogató fájlokból áll. A JRE típusa és felépítése az operációs rendszertől és a CPU architektúrától függően változhat. A Java kód futtatásakor a JRE kommunikál az operációs rendszerrel, amely viszont a megfelelő hardverkomponensekkel fog beszélni. A JRE telepítéséhez a számítógépén minden Java kód futtatásához elengedhetetlen. A JRE azonban nem tartalmaz fordítót, hibakeresőt vagy a Java programok fejlesztéséhez szükséges egyéb eszközöket (például appletviewer és javac). Ha programokat kell fejlesztenie Java-ban, akkor rendelkeznie kell JDK-vel (Java Development Kit), amely magában foglalja a JRE-t is.

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

Bár a mindennapi használat során a JVM és a JRE kifejezéseket felcserélhetően használják, vannak különbségeik. A JVM egy virtuális gép, amely az operációs rendszer tetején fut, míg a JRE a futásidejű végrehajtási környezet. A JVM a JRE része. A JVM specifikáció összeköttetést jelent a platform-specifikus JRE megvalósítás és a szabványos Java könyvtárak között. Ezért a JVM az az entitás, amely absztrakciót nyújt a belső megvalósítás részleteiről a programozó számára. És felel a lefordított bájtkód értelmezéséért. A JVM-nek azonban szükség van az alapkönyvtárakra és más támogató fájlokra a java byte-kód végrehajtásához. De néha a JRE-t egyszerűen a JVM megvalósításának tekintik.