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

Anonim

JVM vs JRE

A Java egy cross-platform programozási nyelv. Emellett betartja az "egyszer írjon, bárhonnan fut" elvet. A Java-ban írt programot a Java-fordító Java-bájtkódba fordíthatja. Ezután a bytecode végrehajtható bármely JRE (Java Runtime Environment) futó platformon. A JRE tartalmazza a JVM (Java Virtual Machine), alapkönyvtárakat (amelyek végrehajtják a Java API-t) és más támogató fájlokat. A JVM egy absztrakt számítástechnikai eszköz, amely közvetítő szerepet tölt be a platformok specifikus JRE és a Java kód között.

Mi a JVM?

A JVM a virtuális gép egyik típusa, amelyet a gépek a Java bytecode végrehajtásához használnak. A Sun Microsystems (aki Java-t fejlesztett ki, amíg az Oracle nemrég vásárolta meg), több mint 4 milliárd JVM-kompatibilis eszköz van a világon. Pontosabban, a Java Virtual Machine egy szabványos hardverre és operációs rendszerre épülő absztrakt számítástechnikai gép. A JVM egyik fontos funkciója az automatizált kivételkezelés. Jellemzően egy szabványos könyvtárak gyűjteménye kísérik a JVM-et. Valójában a JRE egy olyan csomag, amely tartalmazza a JVM-et és a Java API-t végrehajtó osztályokat. A JVM egy nagyon fontos elem, amely befogadja a Java programnyelv "összeillesztése egyszer, bárhonnan bárhonnan" jellegét. Mindaddig, amíg a JVM fut, Java kódja tetején futhat, tekintet nélkül a gépen használt platformra. Ezért hívják a Java-t keresztplatform vagy többplatformos nyelvnek.

Mi a JRE?

A JRE a végrehajtási környezet, amelyen a Java kód fut. Általában a JRE a JVM, a standard alaposztályokból (amelyek végrehajtják az alap Java API-t) és más támogató fájlokból áll. A JRE típusa és struktúrája az operációs rendszertől és a CPU architektúrától függ. A Java kód futtatásakor a JRE kommunikálni fog az operációs rendszerrel, amely viszont a megfelelő hardverelemekkel beszél. Ha a JRE telepítve van a rendszereden, minden gépen java kódot kell futtatnia. A JRE azonban nem tartalmaz fordítót, hibakeresőt, vagy bármilyen más olyan eszközt, amely a Java programok fejlesztéséhez szükséges (pl. Appletviewer és javac). Ha Java-programokat kell fejlesztened, akkor meg kell adnod a JDK-t (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?

Habár a mindennapi használatban a JVM és a JRE kifejezések egymással felcserélhetők, különbségeik vannak. 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ó a platform-specifikus JRE implementáció és a standard Java könyvtárak közötti kapcsolat.Ezért a JVM az a szervezet, amely az absztrakciót a belső végrehajtási részletektől a programozóig biztosítja. És a felelős az összeállított bytecode értelmezéséért. Azonban a JVM-nek szüksége van az alapkönyvtárakra és más támogató fájlokra a java bytecode végrehajtásához. De néha a JRE-t egyszerűen a JVM megvalósításaként azonosítják.