Overzicht van JDK’s

Geplaatst in:

Er zijn verschillende soorten JDK’s, elk met hun eigen voor- en nadelen. We zetten een aantal bekende JDK’s voor je op een rij, zodat je precies weet welke je moet hebben.

JDK staat voor Java Standard Edition Development Kit en wordt gebruikt om Java-applicaties te programmeren en uit te voeren. Het is een implementatie van de Java-platformspecificatie en bevat onder andere een compiler en class library’s.


Met de JDK krijg je ook de Java Runtime Environment (JRE), die gebruikt wordt om Java-programma’s uit te voeren, en de JVM, the Java Virtual Machine, waarin Java-code wordt uitgevoerd.

OpenJDK

Een van de bekendste JDK’s is natuurlijk OpenJDK. OpenJDK wordt uitgegeven door Oracle zelf, in binair formaat voor Linux, macOS en Windows. Je kunt de OpenJDK beter niet gebruiken, gezien deze maar 6 maanden lang updates krijgt van Oracle. Dat geldt zelfs voor LTS-versies, die toch wel een aantal jaar mee moeten gaan. Aan de OpenJDK heb je dus helaas niet zo veel.

JDK

Als we het hebben over JDK, wordt vaak de Oracle JDK bedoeld. Dit is de “daadwerkelijke” JDK, closed source en uitgegeven door Oracle zelf. De Oracle JDK is een commercieel product. Sinds versie 11 van de JDK mag je deze niet meer gratis gebruiken in een productie-omgeving en sinds januari 2018 geldt dat ook voor Java 8. Deze beperking heeft ertoe geleid dat er veel alternatieve JDK’s beschikbaar zijn gekomen. Je kunt de Oracle JDK wel gratis gebruiken tijdens ontwikkeling en testen.

Oracle is deels teruggekomen op deze beperking met Java 17 en staat het gebruik van zijn JDK nu toe in productie-omgevingen, zolang je maar geen product verkoopt dat de Oracle JDK bevat (merk op dat de JRE niet meer los is te downloaden).

Adoptium Temurin JDK

Eerder bekend als AdoptOpenJDK, maar nu is de naam gewijzigd naar Adoptium Temurin JDK. Dit is de JDK van de Eclipse Foundation, die in samenwerking wordt gemaakt met Microsoft, IBM, Red Hat en andere bedrijven. Van deze JDK krijg je handige installers, zodat je ‘m snel kan installeren en daarmee ook direct je PATH kan aanpassen en JAVA_HOME kan zetten. Je krijgt updates voor de JDK, zolang die updates upstream nog beschikbaar gemaakt worden door Oracle. Adoptium zal ze dan backporten naar hun eigen JDK, waarna je kunt updaten.

AdoptOpenJDK

AdoptOpenJDK is de voorganger van Adoptium Temurin en deze kun je dus beter niet meer gebruiken omdat de builds niet meer geüpdatet worden. De website wordt nog wel online gehouden voor archief-doeleinden, maar je kunt beter overstappen naar Adoptium.

Amazon Corretto

Amazon levert zijn eigen JDK en gebruikt die ook op AWS. Corretto heeft onder ander een eigen crypto-provider toegevoegd die beter werkt op AWS. Je kunt Corretto het beste gebruiken als je apps bouwt voor AWS gebruikmakend van Amazon Linux 2.

GraalVM

GraalVM is een JDK, maar heeft wel een iets ander doel dan de overige, besproken JDK’s. Deze JDK is van Oracle en bevat een compiler en polyglot virtual machine met ondersteuning voor onder andere JavaScript, Python, WASM en Ruby. Belangrijke feature van GraalVM is dat die native binaries kan bouwen voor Java-code. Op het moment van schrijven is GraalVM nog in de ontwikkelfase en dus nog niet stabiel, maar het is wel eens interessant om naar te kijken, in combinatie met bijvoorbeeld Spring Native of Quarkus.