Het verschil tussen JDK, JRE en JVM is een populair interviewvraagstuk. Je kunt ook gevraagd worden om JDK vs JRE vs JVM uit te leggen.
Verschil tussen JDK, JRE en JVM
JDK, JRE en JVM zijn kernconcepten van de Java-programmeertaal. We gebruiken deze concepten niet direct in programmeren. Maar als Java-ontwikkelaar moeten we er wel iets van weten.
1. JDK
Java Development Kit, ook wel JDK genoemd, is het kerncomponent van de Java-omgeving en biedt alle tools, uitvoerbare bestanden en binaries die nodig zijn om een Java-programma te compileren, debuggen en uitvoeren. JDK is platformspecifieke software, en daarom zijn er aparte installatieprogramma’s voor Windows, Mac en Unix-systemen. We kunnen zeggen dat JDK de superset van JRE is, omdat het JRE bevat met Java-compiler, debugger en kernklassen.
2. JVM
JVM is het hart van de Java-programmeertaal. Wanneer we een Java-programma uitvoeren, is JVM verantwoordelijk voor het omzetten van de bytecode naar de machine-specifieke code. JVM is ook platformafhankelijk en biedt kernfuncties van Java zoals geheugenbeheer, garbagecollectie, beveiliging, enz. JVM is aanpasbaar en we kunnen Java-opties gebruiken om het aan te passen. Bijvoorbeeld, het toewijzen van minimum- en maximumgeheugen aan JVM. JVM wordt virtueel genoemd omdat het een interface biedt die niet afhankelijk is van het onderliggende besturingssysteem en de machinehardware. Deze onafhankelijkheid van hardware en het besturingssysteem zorgt ervoor dat Java-programma’s overal kunnen worden geschreven en uitgevoerd nadat ze één keer zijn geschreven.
3. JRE
JRE is de implementatie van JVM. Het biedt een platform om Java-programma’s uit te voeren. JRE bestaat uit JVM, Java-binaries en andere klassen om elk programma succesvol uit te voeren. JRE bevat geen ontwikkeltools zoals Java-compiler, debugger, JShell, enz. Als je alleen een Java-programma wilt uitvoeren, kun je alleen JRE installeren. Je hebt geen JDK nodig omdat er geen ontwikkeling of compilatie van Java-broncode vereist is. Nu we een basisbegrip hebben van JDK, JVM en JRE, laten we eens kijken naar het verschil tussen hen.
JDK vs JRE vs JVM
Laten we eens kijken naar enkele belangrijke verschillen tussen JDK, JRE en JVM.
- JDK is voor ontwikkelingsdoeleinden terwijl JRE bedoeld is voor het uitvoeren van Java-programma’s.
- JDK en JRE bevatten beide JVM zodat we ons Java-programma kunnen uitvoeren.
- JVM is het hart van de Java-programmeertaal en biedt platformonafhankelijkheid.
Just-in-time-compiler (JIT)
Soms vind je JIT naast JVM, JDK en JRE in studieboeken. JIT is een onderdeel van de JVM dat het proces van het omzetten van bytecode naar machinetaalspecifieke code optimaliseert. Het compileert vergelijkbare bytecode tegelijkertijd en vermindert de algehele tijd die nodig is voor de compilatie van bytecode naar machinetaalspecifieke code.
Source:
https://www.digitalocean.com/community/tutorials/difference-jdk-vs-jre-vs-jvm