Hovedforskel: JRE står for Java Runtime Environment. Det er Oracle's Java-udførelsesmiljø, som bruges til at udføre Java bytecode. På den anden side er SDK eller softwareudviklingssæt et sæt softwareudviklingsværktøjer. Disse bruges primært til at skabe forskellige applikationer. JRE bruges til at køre disse og andre Java-programmer.
SDK'er indeholder ofte filer til grænseflade til et bestemt programmeringssprog, avanceret hardware til at kommunikere med et bestemt indlejret system, værktøjer til fejlfindingshjælpemidler og andre hjælpeprogrammer samt prøvekode, understøttende tekniske noter eller anden understøttende dokumentation til præcisering af punkter fra den primære reference materiale. Tilsvarende kommer JDK med JRE og forskellige udviklingsværktøjer som Java-biblioteker, Java-kildekompilatorer, Java debuggere, bundlings- og implementeringsværktøjer.
Forskellen mellem JRE og SDK kan opsummeres som sådan. SDK eller snarere JDK kan bruges til at kompilere programmer i Java bytecode. Java bytecode er et standardiseret bærbart binært format, som typisk kommer i form af .class-filer. Programmer kan være af mange klasser og i forskellige filer.
For at køre programmet skal bytecode'en omdannes til tilsvarende kommandoer, som vil blive forstået af det lokale operativsystem. JRE er vant til at gøre dette. Der er forskellige versioner af JRE, som oversætter bytecode for deres tilsvarende operativsystem, nemlig en til Windows XP, en til Windows Vista, en til Windows 7, en til Mac Snow Leopard osv. JREs hele funktion er at tillade computeren at køre Java-programmet.
I det væsentlige bruges JDK til at skrive eller kompilere ens egne Java-programmer, mens JRE bruges til at køre disse og andre Java-programmer, som er let tilgængelige på internettet. En række apps og spil er i øjeblikket baseret på Java.