JDK vs JRE vs JVM be Java – Különbség köztük
Főbb különbség a JDK, a JRE és a JVM között
- A JDK egy szoftverfejlesztő készlet, míg a JRE egy olyan szoftvercsomag, amely lehetővé teszi Java futtatható program, míg a JVM egy bájtkód végrehajtására szolgáló környezet.
- A JDK teljes formája Java Development Kit, míg a JRE teljes formája az Java Runtime Environment, míg a JVM teljes formája az Java Virtuális gép.
- A JDK és a JRE platformfüggő, míg a JVM platformfüggetlen bájtkód szinten, de a platform-specifikus megvalósításoktól függ.
- A JDK fejlesztési, hibakereső stb. eszközöket tartalmaz. A JRE osztálykönyvtárakat és egyéb támogató fájlokat tartalmaz, míg a szoftverfejlesztő eszközöket a JVM nem tartalmazza.
- A JDK a telepítővel együtt érkezik, másrészt a JRE csak a forráskód futtatásához szükséges környezetet tartalmazza, míg a JVM a JDK és a JRE szoftverben egyaránt megtalálható.
Mi az a JDK?
A JDK egy szoftverfejlesztő környezet kisalkalmazások készítésére és Java alkalmazások. A JDK teljes formája Java Fejlesztőkészlet. Java a fejlesztők használhatják Windows, macOS, Solaris, és Linux. A JDK segít nekik a kódolásban és a futtatásban Java programokat. Lehetőség van egynél több JDK-verzió telepítésére ugyanarra a számítógépre.
Mi az a JRE?
A JRE egy olyan szoftver, amelyet más szoftverek futtatására terveztek. Ez tartalmazza az osztálykönyvtárakat, a betöltő osztályt és a JVM-et. Egyszerűen fogalmazva, ha futni akarsz Java program, amire JRE-re van szüksége. Ha nem vagy programozó, akkor nem kell telepítse a JDK-t, hanem csak JRE futni Java programokat. Mindazonáltal az összes JDK-verzió csomagban van Java Runtime Environment, így nem kell külön letöltenie és telepítenie a JRE-t a számítógépére. A JRE teljes formája az Java Futási környezet.
Mi az a JVM?
A JVM egy olyan motor, amely futásidejű környezetet biztosít a Java Kód vagy alkalmazások. Megtérít Java bájtkódot gépi nyelvre. A JVM része Java Run Environment (JRE). Külön nem tölthető le és nem telepíthető. A JVM telepítéséhez telepítenie kell a JRE-t. A JVM teljes formája az Java Virtuális gép.
Sok más programozási nyelvben a fordító gépi kódot állít elő egy adott rendszerhez. Viszont, Java A fordítóprogram kódot állít elő egy virtuális géphez, amelyet JVM-nek neveznek.
Miért érdemes JDK-t használni?
Íme a JDK használatának fontos okai:
- A JDK az íráshoz szükséges eszközöket tartalmazza Java programokat, és a JRE-t a végrehajtásukhoz.
- Tartalmaz egy fordítót, Java alkalmazásindító, Appletviewer stb.
- A fordító konvertálja a beírt kódot Java bájt kódba.
- Java Az alkalmazásindító megnyit egy JRE-t, betölti a szükséges osztályt, és végrehajtja a fő metódusát.
Miért használja a JRE-t?
Íme a JRE használatának fontos okai:
- A JRE osztálykönyvtárakat, JVM-et és egyéb támogató fájlokat tartalmaz. Nem tartalmaz semmilyen eszközt Java fejlesztés, mint egy hibakereső, fordító stb.
- Olyan fontos csomagosztályokat használ, mint a math, swingetc, util, lang, awt és futásidejű könyvtárak.
- Ha futni kell Java kisalkalmazásokat, akkor a JRE-t telepíteni kell a rendszerére.
Miért JVM?
Íme a JVM használatának fontos okai:
- A JVM platformfüggetlen végrehajtási módot biztosít Java forráskód.
- Számos könyvtárral, eszközzel és keretrendszerrel rendelkezik.
- Ha egyszer futsz Java programot, bármilyen platformon futtathatja, és sok időt takaríthat meg.
- A JVM JIT (Just-in-Time) fordítóval érkezik, amely konvertál Java forráskódot alacsony szintű gépi nyelvre. Ezért gyorsabban fut, mint egy normál alkalmazás.
A JDK jellemzői
Íme a JDK fontos funkciói:
- Lehetővé teszi több bővítmény kezelését egyetlen fogási blokkban.
- A JDK tartalmazza a JRE összes funkcióját.
- Fejlesztőeszközöket tartalmaz, mint például fordító, hibakereső stb.
- A JDK biztosítja a környezetet a fejlesztéshez és a végrehajtáshoz Java forráskód.
- Telepíthető rá Windows, Unix és Mac operációs rendszerek.
- Gyémánt operátor használható egy általános típusú interfész megadására a pontos beírása helyett.
A JRE jellemzői
Íme a JRE fontos jellemzői:
- Java A Runtime Environment egy olyan eszközkészlet, amely segítségével a JVM ténylegesen fut.
- A JRE telepítési technológiát tartalmaz, beleértve Java Web Start és Java Csatlakoztat.
- A fejlesztők könnyen futtathatják a forráskódot JRE-ben, de nem tudják megírni és lefordítani Java program.
- Olyan integrációs könyvtárakat tartalmaz, mint pl Java Adatbázis-kapcsolat (JDBC), távoli módszerhívás (RMI), Java Elnevezési és címtári felület (JNDI) és még sok más.
- A JRE rendelkezik JVM-mel és Java HotSpot virtuális gép kliens.
A JVM jellemzői
Íme a JVM fontos funkciói:
- Lehetővé teszi alkalmazások futtatását felhőkörnyezetben vagy eszközén.
- Java A Virtuális gép a bájtkódot gépspecifikus kóddá alakítja.
- Olyan alapvető java funkciókat biztosít, mint a memóriakezelés, a biztonság, a szemétgyűjtés és még sok más.
- A JVM a programot a által megadott könyvtárak és fájlok használatával futtatja Java Futási környezet.
- A JDK és a JRE egyaránt tartalmaz Java Virtuális gép.
- Sorról sorra tudja végrehajtani a java programot, ezért értelmezőnek is nevezik.
- A JVM könnyen testreszabható, például minimális és maximális memóriát foglalhat le.
- Hardvertől és operációs rendszertől független. Tehát egyszer írhat egy java programot, és bárhol futtathatja.
Hogyan működik a JDK?
Íme a JDK fontos összetevői:
- JDK és JRE: A JDK lehetővé teszi a programozóknak, hogy magokat hozzanak létre Java a JRE által futtatható programok, amelyek JVM-et és osztálykönyvtárakat tartalmaztak.
- Osztálykönyvtárak: Ez a dinamikusan betölthető könyvtárak csoportja, amely Java a program futás közben hívhat.
- Fordítók: Ez egy Java program, amely elfogadja a fejlesztők szöveges fájljait, és azokba fordít Java osztályú fájl. Ez a fordító által adott kimenet általános formája, amely tartalmazza Java bájt kód. In Java, az elsődleges fordító Javac.
- Hibakeresők: A hibakereső a Java program, amely lehetővé teszi a fejlesztők számára a tesztelést és a hibakeresést Java programokat.
- JavaDoc: JavaA Doc a Sun Microsystems által készített dokumentáció a Java. JavaA Doc használható API dokumentáció létrehozására HTML fájlban a forrásprogramból
Hogyan működik a JRE?
A JRE rendelkezik a JVM példányával, könyvtári osztályokkal és fejlesztőeszközökkel. Ha egyszer megírod és összeállítod Java kódot, a fordító létrehoz egy bájtkóddal rendelkező osztályfájlt.
Íme a JRE fontos összetevői:
- Osztályrakodók: Az osztálybetöltő különféle osztályokat tölt be, amelyek a futtatásához szükségesek Java program. A JVM három osztálybetöltőt használ, amelyeket bootstrap osztálybetöltőnek, kiterjesztési osztálybetöltőnek és rendszerosztálybetöltőnek neveznek.
- Byte kód ellenőrző: A bájtkód-ellenőrző ellenőrzi a bájtkódot, hogy a kód ne zavarja az értelmezőt.
- Tolmács: Amint az osztályok betöltődnek, és a kód ellenőrzése megtörtént, az értelmező soronként beolvassa a kódot.
- Futási idő: A futásidő egy olyan rendszer, amelyet főként a programozásban használnak, hogy leírják az időtartamot, amely alatt egy adott program fut.
- Hardver: Ha egyszer összeállítod Java natív kód, egy adott hardverplatformon fut.
Ilyen módon a Java A program JRE-ben fut.
Hogyan működik a JVM?
Íme a JVM fontos összetevői:
1) Osztálybetöltő
Az osztálybetöltő egy alrendszer, amelyet osztályfájlok betöltésére használnak. Három fő funkciót lát el, pl. Betöltés, összekapcsolás és inicializálás.
2) Módszer terület
A JVM Method Area osztálystruktúrát tárol, például metaadatokat, a kódot Java módszereket és az állandó futásidejű készletet.
3) Halom
Az összes objektum, tömb és példányváltozó egy kupacban van tárolva. Ezt a memóriát több szál is megosztja.
4) JVM nyelvi veremek
Java A nyelvi veremek helyi változókat és azok részeredményeit tárolják. Minden egyes szálnak megvan a saját JVM nyelvi vereme, amely a szál létrehozásával párhuzamosan jön létre. Egy új keret jön létre a metódus meghívásakor, és eltávolításra kerül, amikor a metódushívási folyamat befejeződött.
5) PC-regiszterek
A PC-regiszterek tárolják a címét Java virtuális gép utasítás, amely jelenleg fut. In Java, minden szálnak külön PC-regisztere van.
6) Natív Method Stackek
A natív metódusveremek a natív kód utasításait tárolják a natív könyvtártól függően. Memóriát foglal le a natív kupacokon, vagy bármilyen típusú veremet használ.
7) Végrehajtó motor
Ez egy olyan típusú szoftver, amelyet szoftverek, hardverek vagy komplett rendszerek tesztelésére használnak. A tesztvégrehajtó motor soha nem hordoz semmilyen információt a tesztelt termékről.
8) Natív módszer interfész
A Native Method Interface egy programozási keretrendszer. Megengedi Java kód, amely egy JVM-ben fut a könyvtárak és a natív alkalmazások általi híváshoz.
9) Native Method Libraries
A Native Libraries a Native Libraries (C, C++), amelyekre az Execution Engine-nek van szüksége.
Különbség a JDK, a JRE és a JVM között
Íme a fő különbségek a JDK és a JRE és a JVM között:
JDK | JRE | JVM |
---|---|---|
A JDK teljes formája Java Fejlesztőkészlet. | A JRE teljes formája az Java Futási környezet. | A JVM teljes formája az Java Virtuális gép. |
A JDK egy szoftverfejlesztő készlet alkalmazások fejlesztéséhez Java. | Ez egy szoftvercsomag, amely biztosítja Java osztályú könyvtárak a futtatáshoz szükséges összetevőkkel Java kód. | JVM végrehajtja Java bájt kódot, és környezetet biztosít a végrehajtásához. |
A JDK platformfüggő. | A JRE is platformfüggő. | A JVM platformfüggetlen. |
Eszközöket tartalmaz a java kód fejlesztéséhez, hibakereséséhez és figyeléséhez. | Osztálykönyvtárakat és egyéb támogató fájlokat tartalmaz, amelyekre a JVM-nek szüksége van a program végrehajtásához. | A JVM nem tartalmazza a szoftverfejlesztő eszközöket. |
Ez a JRE szuperkészlete | Ez a JDK részhalmaza. | A JVM a JRE egy részhalmaza. |
A JDK lehetővé teszi a fejlesztők számára, hogy létrehozzanak Java a JRE és a JVM által végrehajtható és futtatható programok. | A JRE a része Java amely létrehozza a JVM-et. | Ez a Java forráskódot végrehajtó platformkomponens. |
A JDK a telepítővel együtt érkezik. | A JRE csak a forráskód végrehajtásához tartalmaz környezetet. | A JVM a JDK és a JRE szoftverben egyaránt megtalálható. |