

Java Software Development Kit (JDK) volledig uitgelegd
De Java Development Kit (JDK) is het pakket dat je nodig hebt om Java-software te bouwen, compileren en uitvoeren. In dit artikel lees je wat de JDK precies inhoudt, hoe het zich verhoudt tot de JRE en JVM, en hoe je het installeert op Windows, macOS of Linux. Je leert welke versie je kiest en hoe je de kit direct inzet voor je eerste werkende applicatie.
Belangrijkste inzichten
De JDK is meer dan alleen een compiler: het is het complete pakket van tools, libraries en runtime dat je nodig hebt om Java-software te bouwen én te draaien.
JVM, JRE en JDK zijn geen synoniemen: elke laag voegt iets toe, en alleen de JDK geeft je alles om zelf te ontwikkelen.
Voor productiegebruik kies je bewust tussen Oracle JDK (commercieel, met support) en OpenJDK (gratis, open source) — beide zijn gebaseerd op dezelfde referentie-implementatie.
Inleiding
Je hebt besloten om Java te leren of een bestaand project op te pakken. Je opent een tutorial en meteen vliegen de afkortingen je om de oren: JDK, JRE, JVM, Maven, Gradle. Wat heb je nu écht nodig om te beginnen?
Het antwoord begint bijna altijd bij één ding: de Java Development Kit. In dit artikel krijg je de Java Software Development Kit (JDK) volledig uitgelegd, zonder omwegen. We pakken het stap voor stap aan, zodat je precies weet wat JDK is, hoe het zich verhoudt tot de runtime en de virtuele machine, en waarom dit pakket de basis is voor iedereen die serieus aan Java programmeren wil werken.
Je leest welke onderdelen erin zitten, hoe je de kit installeert op Windows, macOS en Linux, welke versie je kiest en hoe je 'm in de praktijk gebruikt voor je eerste werkende applicatie.
Wat is de Java Development Kit?
De Java Development Kit is het complete pakket waarmee je Java-software bouwt, compileert en draait. Denk aan een toolbox: je krijgt de compiler (javac), een debugger, archiveringstools zoals jar, documentatiegeneratoren en een flinke verzameling standaard libraries. Daarbovenop zit alles om je code daadwerkelijk uit te voeren.
Hier komen de drie afkortingen in beeld die vaak door elkaar lopen:
- JVM (Java Virtual Machine): de motor die jouw gecompileerde bytecode uitvoert op elk besturingssysteem. Dit is de uitleg achter Java's belofte "write once, run anywhere".
- JRE (Java Runtime Environment): de JVM plus de libraries die nodig zijn om Java-applicaties te draaien. Genoeg om software te gebruiken, niet om te ontwikkelen.
- JDK: de JRE plus alle ontwikkeltools. Hiermee schrijf én run je code.
Wil je alleen een Java-programma starten? Dan is een runtime voldoende. Ga je zelf bouwen, dan heb je de kit nodig.
Er zijn twee hoofdsmaken. Oracle JDK is de commerciële distributie van Oracle, met support en een eigen licentie voor productiegebruik. OpenJDK is de open source referentie-implementatie, gratis en gemaintaind door de community. Functioneel zijn ze nagenoeg identiek; de keuze gaat over licentie en support.
De belangrijkste onderdelen van de JDK
Open je een verse JDK-installatie, dan vind je in de bin-map een rij command line tools. Dit zijn de werkpaarden waar je dagelijks mee werkt, ook al verbergt je IDE ze meestal achter een knopje.
- javac (de compiler): vertaalt je
.java-bronbestanden naar bytecode in.class-bestanden. Die bytecode is platformonafhankelijk en draait op elke JVM. Je gebruiktjavaczodra je code wilt omzetten naar iets uitvoerbaars, of het nu handmatig is of via een buildtool zoals Maven of Gradle. - java (de runtime): start de JVM en voert je bytecode uit. Met
java MijnKlasseofjava -jar app.jarhaal je je programma uit de startblokken. Dit is letterlijk het commando waarmee elke Java-applicatie tot leven komt. - jar (de archiver): bundelt je gecompileerde classes en resources in één
.jar-bestand. Handig voor distributie, deployment of om een bibliotheek te verpakken die anderen in hun project willen gebruiken. - jdb (de debugger): een command line debugger om breakpoints te zetten, variabelen te inspecteren en stap voor stap door je code te lopen. In de praktijk pak je hier een IDE-debugger voor, maar onder de motorkap doet
jdbhetzelfde werk. - javadoc (documentatiegenerator): leest de commentaren in je broncode (de
/** ... */-blokken) en bouwt daar HTML-documentatie van. Onmisbaar voor APIs en bibliotheken die anderen gaan gebruiken.
Naast deze JDK tools krijg je de standaard class libraries: java.lang, java.util, java.io, java.nio, java.net, en zo verder. Deze Java libraries leveren collections, streams, netwerkfunctionaliteit, datum- en tijdklassen en duizenden andere bouwstenen, zodat je niet voor elk basisprobleem het wiel opnieuw uitvindt.
JDK-versies en LTS-releases
Sinds JDK 9 hanteert Oracle een vast ritme: elk halfjaar een nieuwe Java-release. Handig voor wie snel de laatste features wil proberen, maar voor productie zit je niet te wachten op een upgrade om de zes maanden. Daarom zijn er Long Term Support versies, met meerdere jaren patches en beveiligingsupdates.
De bekende LTS Java-versies zijn JDK 8, 11, 17 en 21. JDK 17 is op dit moment de meest gebruikte in de praktijk, JDK 21 is de nieuwste en brengt onder andere virtual threads en pattern matching voor switch naar de standaard. JDK 8 zie je nog vaak in oudere systemen, maar nieuwe projecten beginnen daar niet meer mee.
Voor productieomgevingen kies je vrijwel altijd een LTS. Je krijgt stabiliteit, voorspelbare patches en betere ondersteuning vanuit frameworks. Spring Boot 3.x vereist bijvoorbeeld minimaal JDK 17, en sluit JDK 8 en 11 expliciet uit. Werk je aan een hobbyproject of wil je nieuwe taalfeatures uitproberen, dan is een tussenliggende release prima.
Vuistregel: hou je productiecode op de meest recente LTS, en plan een upgrade zodra de volgende uit is en je frameworks meebewegen.
JDK installeren en instellen
Een JDK download regel je het snelst via Adoptium (Eclipse Temurin, een populaire OpenJDK-build) of bij Oracle zelf. Kies een LTS-versie en het juiste pakket voor jouw systeem.
Windows: download de .msi-installer en doorloop de wizard. Vink de optie aan om JAVA_HOME automatisch te zetten. Doet de installer dat niet, ga dan naar Systeemeigenschappen → Omgevingsvariabelen en voeg JAVA_HOME toe met het pad naar je JDK-map (bijvoorbeeld C:\Program Files\Eclipse Adoptium\jdk-21). Voeg vervolgens %JAVA_HOME%\bin toe aan de PATH variabele.
macOS: gebruik de .pkg-installer of installeer via Homebrew met brew install --cask temurin. Zet in je ~/.zshrc: export JAVA_HOME=$(/usr/libexec/java_home -v 21) en export PATH=$JAVA_HOME/bin:$PATH.
Linux: installeer via je package manager (sudo apt install temurin-21-jdk op Debian/Ubuntu na het toevoegen van de Adoptium-repo). Stel JAVA_HOME in via ~/.bashrc of /etc/environment.
Daarna controleer je je werk in een nieuwe terminal:
java -version
javac -version
Beide commando's moeten dezelfde versie tonen. Krijg je command not found, dan klopt je PATH niet.
Werk je vaak met meerdere Java-versies tegelijk? Installeer dan SDKMAN op macOS of Linux. Met sdk install java 21-tem en sdk use java 17-tem wissel je in één commando van versie, zonder geknoei in omgevingsvariabelen. Voor Windows is Jabba een vergelijkbaar alternatief.
JDK versus andere SDK's
Een Software Development Kit is in essentie een verzameling tools, libraries en documentatie waarmee je voor een specifiek platform of taal kunt bouwen. De JDK is dus één SDK in een veel grotere familie. JDK vs SDK is geen tegenstelling: de JDK is een SDK, specifiek voor de Java-taal.
Vergelijk het even met andere bekende kits. De Android SDK levert tools om Android-apps te bouwen (emulators, build tools, platform-libraries) en gebruikt onder water vaak gewoon een JDK voor de compilatie van Java- en Kotlin-code. De .NET SDK van Microsoft doet hetzelfde voor C# en F#: compiler, runtime en libraries in één pakket. Apple heeft Xcode met de iOS SDK voor Swift en Objective-C.
Binnen de Java-wereld zelf zijn er ook meerdere platforms. Java SE (Standard Edition) is wat je met de JDK krijgt: de kern van de taal en standaard libraries. Java EE was de enterprise-uitbreiding voor server-side toepassingen, inmiddels overgedragen aan de Eclipse Foundation en verder ontwikkeld als Jakarta EE. Voor mobiel en embedded bestaat Java ME. Eén taal, meerdere smaken.
Hoe je de JDK gebruikt in een echt project
In de praktijk werk je zelden direct met javac op de command line. Je opent IntelliJ IDEA of Eclipse IDE, kiest je JDK-versie in de projectinstellingen en laat de IDE de buildtool (meestal Maven of Gradle) het zware werk doen. Code schrijven, autocomplete, refactoring, alles loopt via de kit die je net hebt geïnstalleerd.
Een typische workflow ziet er zo uit. Je schrijft je classes, drukt op run en de IDE roept onder water javac aan om alles te compileren naar bytecode. Die bytecode draait op de JVM, waar je via de debugger breakpoints zet en variabelen inspecteert. Tests schrijf je met JUnit en draai je voor elke commit. Klopt alles, dan package je het resultaat tot een JAR bestand voor een library of standalone applicatie, of een WAR voor deployment op een applicatieserver zoals Tomcat.
Bij Mediajunkies komt deze stack terug in maatwerk software die we voor klanten bouwen: backendservices die koppelen met bestaande systemen, integraties tussen Webflow- of WordPress-frontends en zwaardere bedrijfslogica, of dashboards waar veel data doorheen stroomt. Een Java project loopt bij ons via dezelfde lijn: lokaal ontwikkelen, geautomatiseerd testen in een CI-pipeline, deployen naar staging, valideren, naar productie. De JDK is daarin het fundament waar Java software development op staat.
Conclusie
De Java Development Kit is het fundament onder elke serieuze Java ontwikkeling. Eén pakket dat je code compileert, draait, debugt en documenteert, met daarbovenop een ecosysteem aan libraries, frameworks en buildtools dat al twintig jaar meegroeit met de praktijk.
Wil je zelf aan de slag? Kies een LTS-versie (JDK 21 als je vrij bent, JDK 17 als je frameworks dat vereisen), installeer hem via Adoptium, controleer met java -version en bouw een klein project. Een simpele REST-API met Spring Boot is een prima eerste stap, je leert in één klap de hele toolchain kennen.
Heb je een Java project op de planning of denk je aan Java software op maat? Bij Mediajunkies bouwen we backends, integraties en maatwerkapplicaties van A tot Z. Neem contact op en we sparren erover.
Veelgestelde vragen
Wat is het verschil tussen JDK, JRE en JVM?
Heb ik de JDK nodig als ik alleen een Java-programma wil gebruiken?
Wat is het verschil tussen Oracle JDK en OpenJDK?
Welke versie van de JDK moet ik installeren?
Op welke besturingssystemen werkt de JDK?

Jesse Welleman is strateeg en werknemer van Mediajunkies. Met een achtergrond in UX-design en digitale strategie helpt hij merken groeien door sterke online identiteiten en slimme contentstructuren. In zijn blogs deelt hij inzichten over webdesign, SEO en de toekomst van digitale merkervaringen.
Klaar om jouw website naar een hoger niveau te tillen?
Ontdek hoe Nextmnday resultaat kan behalen met een website voor jouw bedrijf.
Heb je een project in gedachten?
Lorem ipsum dolor sit amet, consectetur adipiscing elit.

.avif)
