Hovedforskjell: JRE står for Java Runtime Environment. Det er Oracles Java-utførelsesmiljø som brukes til å utføre Java bytecode. På den annen side er SDK eller programvareutviklingssett et sett med programvareutviklingsverktøy. Disse brukes primært til å lage forskjellige applikasjoner. JRE brukes til å kjøre disse og andre Java-programmer.
SDKs inneholder ofte filer til grensesnitt til et bestemt programmeringsspråk, sofistikert maskinvare for å kommunisere med et bestemt innebygd system, verktøy for feilsøkingshjelpemidler og andre verktøy, samt prøvekode, støtter tekniske notater eller annen dokumentasjon for å klargjøre poeng fra den primære referansen materiale. Tilsvarende kommer JDK med JRE og ulike utviklingsverktøy som Java-biblioteker, Java-kildekompilatorer, Java-debuggere, bunterings- og distribusjonsverktøy.
Forskjellen mellom JRE og SDK kan oppsummeres som sådan. SDK eller heller JDK kan brukes til å kompilere programmer i Java bytecode. Java bytecode er et standardisert bærbart binært format som vanligvis kommer i form av .class-filer. Programmer kan være av mange klasser og i forskjellige filer.
For å kjøre programmet må bytekoden da konverteres til tilsvarende kommandoer som vil bli forstått av det lokale operativsystemet. JRE er vant til å gjøre dette. Det finnes forskjellige versjoner av JRE som oversetter bytekoden for deres tilsvarende operativsystem, det vil si en for Windows XP, en for Windows Vista, en for Windows 7, en for Mac Snow Leopard, osv. JREs hele funksjon er å tillate datamaskinen å kjøre Java-programmet.
I hovedsak er JDK vant til å skrive eller kompilere ens egne Java-programmer, mens JRE brukes til å kjøre disse og andre Java-programmer, som er lett tilgjengelige på internett. En rekke apper og spill er for tiden basert på Java.