Ključna razlika: JRE znači Java Runtime Environment. Oracleovo okruženje Java izvršenja koristi se za izvršavanje Java bajt koda. S druge strane, SDK ili komplet za razvoj softvera je skup alata za razvoj softvera. Oni se prvenstveno koriste za stvaranje različitih aplikacija. JRE se koristi za pokretanje tih i drugih Java programa.

SDK-ovi često uključuju datoteke za povezivanje s određenim programskim jezikom, sofisticirani hardver za komunikaciju s određenim ugrađenim sustavom, alate za pomoć pri otklanjanju pogrešaka i druge uslužne programe, kao i uzorak koda, tehničke napomene ili drugu popratnu dokumentaciju za razjašnjenje točaka iz primarne reference materijal. Slično tome, JDK dolazi s JRE-om i raznim razvojnim alatima kao što su Java knjižnice, Java izvorni kompilatori, Java debuggers, bundling i alati za implementaciju.
Razlika između JRE i SDK može se kao takva sažeti. SDK, odnosno JDK, može se koristiti za kompajliranje programa u Java bytecode. Java bytecode je standardizirani prijenosni binarni format koji obično dolazi u obliku .class datoteka. Programi mogu biti različitih klasa i različitih datoteka.

Da bi se program mogao pokrenuti, bajt-kod mora biti pretvoren u odgovarajuće naredbe koje će razumjeti lokalni operacijski sustav. JRE se koristi za to. Postoje različite verzije JRE koje prevodi bajt kod za odgovarajući operativni sustav, tj. Jedan za Windows XP, jedan za Windows Vista, jedan za Windows 7, jedan za Mac Snow Leopard, itd. Cijela funkcija JRE-a je omogućiti računalu za pokretanje Java programa.
U osnovi, JDK se koristi za pisanje ili kompiliranje vlastitih Java programa, dok se JRE koristi za pokretanje tih i drugih Java programa, koji su lako dostupni na internetu. Broj aplikacija i igara trenutno se temelji na Javi.