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?

JDK függvények
JDK funkcionalitás

Í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?

JRE funkciók

JRE funkcionalitás

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?

JVM funkciók

JVM funkcionalitás

Í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ó.