A JDK, JRE és JVM közötti különbség az egyik népszerű interjúkérdés. Megkérhetjük a JDK vs JRE vs JVM magyarázatára is.
A JDK, JRE és JVM közötti különbség
A JDK, JRE és JVM a Java programozási nyelv alapvető fogalmai. Ezeket a fogalmakat nem használjuk a programozás során. Java fejlesztőként azonban tudnunk kell róluk.
JDK
A Java Development Kit, más néven a JDK, a Java Környezet alapvető összetevője, és biztosítja az összes olyan eszközt, futtatható fájlt és bináris fájlt, amely szükséges a Java program fordításához, hibakereséséhez és futtatásához.
A JDK egy platform-specifikus szoftver és ezért külön telepítőink vannak a Windows, a Mac és a Unix rendszerekhez.
Mondhatjuk, hogy a JDK a JRE szuperhalmaza, mivel JRE-t tartalmaz Java fordítóval, hibakeresővel és törzsosztályokkal.
JVM
A JVM a Java programozási nyelv szíve. Amikor Java programot futtatunk, a JVM feladata a bájtkód konvertálása gépspecifikus kódgá.
A JVM emellett platformfüggő, és alapvető java funkciókat biztosít, mint például a memóriakezelés, a szemétgyűjtés, a biztonság stb.
A JVM testreszabható, és testreszabásához használhatunk java opciókat. Például a minimális és maximális memória lefoglalása a JVM számára.
A JVM-t virtuálisnak hívják, mert olyan felületet biztosít, amely nem függ az alapul szolgáló operációs rendszer és gépi hardver.
Ez a hardvertől és az operációs rendszertől való függetlenség teszi a java programot egyszer futtathatóvá, bárhova.
JRE
A JRE a a JVM megvalósítása. Platformot biztosít a java programok futtatásához. A JRE JVM-ből, Java bináris fájlokból és más osztályokból áll, amelyek bármely programot sikeresen végrehajtanak.
A JRE nem tartalmaz olyan fejlesztőeszközöket, mint a Java fordító, a hibakereső, a JShell stb.
Ha csak egy java programot akar futtatni, akkor csak a JRE-t telepítheti. Nincs szüksége JDK-ra, mert nincs szükség a java forráskód fejlesztésére vagy fordítására.
Most, hogy alapvető ismereteink vannak a JDK-ról, a JVM-ről és a JRE-ről, nézzük meg a köztük lévő különbséget.
JDK vs JRE vs JVM
Vizsgáljuk meg a JDK, JRE és JVM közötti fontos különbségeket.
- A JDK fejlesztési célú mivel a JRE a java programok futtatására szolgál.
- A JDK és a JRE egyaránt tartalmaz JVM-et, hogy futtathassuk a java programunkat.
- A JVM a java programozási nyelv szíve és platformfüggetlenséget biztosít .
Just-in-time Compiler (JIT)
Néha a JVM, a JDK és a JRE mellett megtalálhatja a JIT-et a tankönyvekben. A JIT a JVM része, amely optimalizálja a bájtkód konvertálását gépspecifikus nyelvre. Hasonló bájtkódokat állít össze egyidejűleg, és lecsökkenti a bájtkód összeállításához szükséges teljes időt gépspecifikus nyelvre.