JDK vs JRE vs JVM: Fő különbségek

JDK?

A JDK egy szoftverfejlesztő környezet, amely kisalkalmazások és Java alkalmazások készítésére szolgál. A JDK teljes formája a Java Development Kit. A Java fejlesztők Windows, macOS, Solaris és Linux rendszereken használhatják. A JDK segíti őket a Java programok kódolásában és futtatásában. Több JDK verzió is telepíthető ugyanarra a számítógépre.

Ebben az oktatóanyagban megtudhatja:

  • Mi a JDK?
  • Mi a JRE?
  • Mi a JVM?
  • Miért érdemes használni a JDK-t?
  • Miért érdemes használni a JRE-t?
  • Miért pont a JVM?
  • A JDK jellemzői
  • A JRE jellemzői
  • A JVM jellemzői
  • Hogyan működik a JDK?
  • Hogyan működik a JRE?
  • Hogyan működik a JVM?
  • Különbség a JDK, a JRE és a JVM között

Mi az a JRE?

A JRE egy olyan szoftverrész, 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űbben fogalmazva, ha Java programot akar futtatni, akkor JRE-re van szüksége. Ha nem programozó, akkor nem a JDK-t kell telepítenie, hanem csak a JRE-t a Java programok futtatásához. Bár az összes JDK-verziót Java Runtime Environment-hez mellékelik, így nem kell külön letölteni és telepíteni a JRE-t a PC. A JRE teljes formája a Java Runtime Environment.

Mi a JVM?

A JVM olyan motor, amely futásidejű környezet a Java kód vagy alkalmazások meghajtására. A Java bájtkódot gépi nyelvre konvertálja. A JVM a Java Run Environment (JRE) része. Nem lehet külön letölteni és telepíteni. A JVM telepítéséhez telepítenie kell a JRE-t. A JVM teljes formája a Java Virtual Machine.

Sok más programozási nyelvben a fordító gépi kódot állít elő egy adott rendszer számára, azonban a Java fordító kódot állít elő egy virtuális gép számára, amelyet JVM-nek hívnak.

FŐBB HATÁSOK

  • A JDK egy szoftverfejlesztő készlet, míg a JRE egy szoftvercsomag, amely lehetővé teszi a Java program futtatását, mivel a JVM a bytecode végrehajtásának környezete.
  • A JDK teljes formája a Java Development Kit, míg a JRE teljes formája a Java Runtime Environment, míg a JVM teljes formája a Java Virtual Machine.
  • A JDK platformfüggő, a JRE platformfüggő is, de a JVM platformfüggetlen.
  • A JDK eszközöket tartalmaz fejlesztésre, hibakeresésre stb. A JRE osztálykönyvtárakat és egyéb támogató fájlokat tartalmaz, míg szoftverek fejlesztőeszközök nem szerepelnek a JVM-ben.
  • A JDK a telepítővel érkezik, másrészt a JRE csak a forráskód futtatásához szükséges környezetet tartalmazza, míg a JVM mind a szoftveres JDK, mind a JRE csomagban van.

Miért érdemes használni a JDK-t?

A JDK használatának fontos okai:

  • A JDK a Java programok írásához szükséges eszközöket tartalmaz, és JRE kivégezni őket.
  • Tartalmaz egy fordítót, Java alkalmazásindítót, Appletviewert stb.
  • A fordító a Java-ban írt kódot bájtkóddá alakítja.
  • A Java alkalmazásindító megnyit egy JRE-t, betölti a szükséges osztályt és végrehajtja a fő módszerét.

Miért érdemes használni 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 a Java fejlesztéséhez, például hibakeresőt, fordítót stb.
  • Fontos csomagosztályokat használ, mint például matematika, swingetc, util, lang, awt és futásidejű könyvtárak.
  • Ha Java kisalkalmazásokat kell futtatnia, akkor a JRE-t telepítenie kell a rendszerébe.

Miért a JVM?

Íme a JVM használatának fontos okai:

  • A JVM platformfüggetlen módot kínál a Java futtatására forráskód.
  • Számos könyvtárral, eszközzel és kerettel rendelkezik.
  • A Java program futtatása után bármely platformon futtathat, és sok időt takaríthat meg.
  • A JVM JIT (Just-in-Time) fordítóval érkezik, amely a Java forráskódot alacsony szintű gépi nyelvre konvertálja. Ennélfogva gyorsabban fut, mint egy szokásos alkalmazás.

A JDK jellemzői

Itt vannak a JDK fontos jellemzői:

  • Lehetővé teszi több kiterjesztés kezelését egyetlen fogási blokkban.
  • A JDK tartalmazza a JRE összes funkcióját.
  • Fejlesztési eszközöket tartalmaz, például fordítót, hibakeresőt stb.
  • A JDK biztosítja a környezetet a Java forráskód fejlesztéséhez és végrehajtásához.
  • Telepíthető Windows, Unix és Mac operációs rendszerekre.
  • A Diamond operátor felhasználható egy általános típusú felület megadására a pontos írás helyett.

A JRE jellemzői

Itt vannak a JRE fontos jellemzői:

  • A Java Runtime Environment olyan eszközkészlet, amelynek segítségével a JVM ténylegesen fut.
  • A JRE telepítési technológiát tartalmaz, beleértve a Java Web Start és a Java beépülő modult.
  • A fejlesztők könnyen futtathatják a forráskódot a JRE-ben, de nem tudja megírni és lefordítani a Java programot.
  • Integrációs könyvtárakat tartalmaz, mint például a Java Database Connectivity (JDBC), a Remote Method Meghívás (RMI), Java elnevezés és Directory Interface (JNDI) és még sok más.
  • A JRE rendelkezik JVM és Java HotSpot virtuális gép klienssel.

A JVM jellemzői

Íme a JVM fontos jellemzői:

  • Lehetővé teszi alkalmazások futtatását felhőkörnyezetben vagy eszközén.
  • A Java Virtual Machine konvertálja a bájtkódot a gépspecifikus kódgá.
  • Alapvető java funkciókat biztosít, mint például a memóriakezelés, a biztonság, a szemétgyűjtés és egyebek.
  • A JVM a Java Runtime Environment által biztosított könyvtárak és fájlok segítségével futtatja a programot.
  • A JDK és a JRE egyaránt tartalmaz Java Virtual Machine-t.
  • Soronként futtathatja a java programot, ezért tolmácsnak is hívják.
  • A JVM könnyen testreszabható, például lefoglalhat hozzá minimális és maximális memóriát.
  • Ez független a hardvertől és az operációs rendszertől. Tehát egyszer írhat egy java programot, és bárhol futtatható.

Hogyan működik a JDK?

JDK funkcionalitás

Íme a JDK fontosabb összetevői:

  • JDK és JRE: A JDK lehetővé teszi a programozók számára, hogy a Java által futtatható alapvető Java programokat hozzanak létre. JRE, amely magában foglalta a JVM-et és az osztálykönyvtárakat.
  • Osztálykönyvtárak: Ez egy dinamikusan betölthető könyvtárak egy csoportja, amelyeket a Java program futás közben meghívhat.
  • Fordítók: Ez egy Java program, amely elfogadja a fejlesztők szövegfájlját és összeáll Java osztályfájl. Ez a fordító által adott általános kimeneti forma, amely Java bájtkódot tartalmaz. A Java-ban az elsődleges fordító a Javac.
  • Debuggers: A Debugger egy Java-program, amely lehetővé teszi a fejlesztők számára a Java-programok tesztelését és hibakeresését.
  • JavaDoc: A JavaDoc a Sun Microsystems által a Java számára készített dokumentáció. A JavaDoc használható API-dokumentumok előállítására HTML-fájlokban a forrásprogramból

Hogyan működik a JRE?

JRE funkcionalitás

A JRE rendelkezik JVM-példánnyal, könyvtári osztályokkal és fejlesztőeszközökkel. A Java-kód írása és fordítása után a fordító generál egy bájtkóddal rendelkező osztályfájlt.

Íme a JRE fontos összetevői:

  • Osztályrakodók: Az osztályrakodó különféle osztályokat tölt be, amelyek szükségesek egy Java program futtatásához. A JVM három osztálybetöltőt használ, az úgynevezett bootstrap osztálybetöltőt, a kiterjesztésű osztálybetöltőt és a rendszerosztálybetöltőt.
  • Bájtkód-ellenőrző: A bájtkód-ellenőrző a bájtkódot ellenőrzi, 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 tolmács soronként olvassa a kódot.
  • Futásidő: A futási idő olyan rendszer, amelyet főleg a írja le azt az időtartamot, amely alatt egy adott program fut.
  • Hardver: Miután lefordította a Java natív kódját, az egy adott hardverplatformon fut.

Ily módon a Java program JRE-ben fut.

Hogyan működik a JVM?

JVM funkcionalitás

Itt vannak a JVM fontos összetevői:

1) Class Loader

Az class loader egy alrendszer, amelyhez osztályfájlok betöltése. Három fő funkciót lát el, nevezetesen. Betöltés, összekapcsolás és inicializálás.

2) Metódus területe

A JVM Metód terület tárolja az osztály struktúráját, például a metaadatokat, a Java metódusok kódját é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 osztja meg.

4) JVM nyelvi veremek

A Java nyelvi veremek a helyi változókat és részeredményeit tárolják. Minden szálnak megvan a saját JVM nyelvi vereme, amelyet egyidejűleg hoztak létre a szál létrehozásakor. A metódus meghívásakor új keret jön létre, és a metódushívási folyamat befejeztével eltávolításra kerül.

5) PC-regiszterek

A PC-regiszterek tárolják a Java virtuális gép utasításának címét, amely éppen fut. A Java-ban minden szál külön PC-regiszterrel rendelkezik.

6) Natív módszerhalmok

A natív módszerhalmok tartják a natív kód utasításait a natív könyvtár függvényében. Kiosztja a memóriát a natív halmokban, vagy bármilyen típusú halmot használ.

7) Végrehajtó motor

Ez egy olyan szoftver, amelyet szoftverek, hardverek vagy teljes rendszerek tesztelésére használnak. A teszt végrehajtó motor soha nem hordoz semmilyen információt a tesztelt termékről.

8) Native Method interfész

A Native Method Interface egy programozási keretrendszer. Lehetővé teszi, hogy a JVM-ben futó Java-kód könyvtárak és natív alkalmazások által hívható legyen.

9) Natív módszer könyvtárak

A Natív könyvtárak a natív könyvtárak (C, C ++) gyűjteménye, amelyekre az Execution Engine számára szükség van.

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

Itt vannak 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 a Java Development Kit. A JRE teljes formája a Java Runtime Environment. A JVM teljes formája a Java Virtual Machine.
A JDK egy szoftverfejlesztő készlet Java-alkalmazások fejlesztésére. Ez egy szoftvercsomag, amely a Java osztály könyvtárak számára biztosítja a Java kód futtatásához szükséges összetevőket. A JVM végrehajtja a Java bájtkódot, és környezetet biztosít a végrehajtásához.
A JDK platformfüggő. A JRE szintén platformfüggő. A JVM platformfüggetlen.
Ez eszközöket tartalmaz a java kód fejlesztésére, hibakeresésére és felügyeletére. Osztálykönyvtárakat és egyéb támogató fájlokat tartalmaz, amelyekre a JVM a program futtatásához szükséges. A szoftverfejlesztő eszközök nem szerepelnek a JVM-ben.
Ez a JRE alcsoportja Ez a JDK részhalmaza. A JVM a JRE részhalmaza.
A JDK lehetővé teszi a fejlesztők számára, hogy Java programokat hozzanak létre, amelyeket a JRE és a JVM futtathat és futtathat. A JRE a Java azon része, amely létrehozza a JVM-et. A Java platform komponens hajtja végre a forráskódot.
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 szoftvereket egyaránt tartalmazza.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük