Java begrijpen: JDK, JRE en JVM uitgelegd
Java JDK, JRE en JVM
In deze tutorial leer je over JDK, JRE en JVM. Je leert ook de belangrijkste verschillen tussen hen.
Wat is JVM?
JVM (Java Virtual Machine) is een abstracte machine die je computer in staat stelt om een Java-programma uit te voeren.
Wanneer je het Java-programma draait, compileert de Java-compiler je Java-code eerst naar bytecode. Vervolgens vertaalt de JVM de bytecode naar native machinecode – een set instructies die de CPU van een computer direct uitvoert.
Java is een platformonafhankelijke taal. Dit komt omdat Java-code wordt gecompileerd voor de JVM, niet voor een specifieke fysieke machine. Omdat de JVM platform-neutrale bytecode uitvoert, draait Java consistent besturingssystemen over.

Wil je een diepere duik? De JVM-architectuur uitgelegd.
Wat is JRE?
JRE (Java Runtime Environment) is een softwarepakket dat de Java-klassebibliotheken, de JVM en andere componenten bundelt die nodig zijn om Java-applicaties uit te voeren.
In feite is de JRE de superset van de JVM – het bevat alles wat de JVM nodig heeft plus de runtime-bibliotheken.

Als je alleen Java-programma's hoeft uit te voeren, maar niet te ontwikkelen, is de JRE voldoende. Je kunt het downloaden van de Java SE Runtime Environment 8 Downloads-pagina.
Wat is JDK?
JDK (Java Development Kit) is de complete toolkit die vereist is voor het ontwikkelen van Java-applicaties. Wanneer je de JDK installeert, wordt de JRE automatisch geïnstalleerd.
Naast de JRE bundelt de JDK essentiële ontwikkeltools zoals de Java-compiler (javac), JavaDoc, de Java-debugger, en meer.

Klaar om te coderen? Download de JDK en begin met het bouwen van je Java-projecten.
Relatie tussen JVM, JRE en JDK

Java
- Java-variabelen en literals: een uitgebreide gids
- Java Input & Output beheersen: printen, lezen en formatteren
- Java Expressies, Statements en Blokken begrijpen
- Java klassen en objecten: een praktische gids
- Java abstracte klassen en methoden: een uitgebreide gids
- Java geneste en inner classes meesteren: typen, voorbeelden en best practices
- Java throw vs throws: Exception Handling meesteren met praktische voorbeelden
- Java Autoboxing en Unboxing: Praktische voorbeelden en best practices
- Java String Vervanging beheersen: replace(), replaceAll() en replaceFirst() uitgelegd
- Java String toLowerCase() & toUpperCase(): Tekstcase Converteren met Locale Awareness
- Java Onder de Knie: Objects, Classes en Kern OOP Concepten