A Java nyelv számos változáson ment keresztül a JDK 1.0 kiadása óta. Számos osztály és csomag került hozzáadásra a sztenderd könyvtárakhoz. A J2SE 1.4 óta a Java nyelv evolúcióját a Java Community Process (JCP) irányítja, amely Java Specification Requests (JSR-eket) használ a Java platform-on a különböző bővítések és változások javaslatainak kidolgozásához. A nyelvet Java Language Specification (Java nyelvi specifikáció – JLS) rögzíti, a változásokat a JLS-en a JSR 901 keresztül menedzselik.

JDK Alpha és Beta 1995-ben adták ki. Az Alpha és Beta Java nyilvános kiadásainak meglehetősen instabil API-jai és ABIjai voltak. A hozzá kiadott böngészőt WebRunner-nek hívták.

JDK 1.0 1996. január 23-án adták ki Oak kódneven. Ez volt az első kiadás a Sun-tól.Version 1.0 press release, Sun. Az első stabil verzió a JDK 1.0.2. volt, amit Java 1-nek hívtak.

JDK 1.1 1997. február 19-én adták ki. Főbb bővítések a következők voltak:Version 1.1 press release, Sun. az AWT esemény modelljének átfogó átdolgozása beágyazott osztályokat hozzáadták a nyelvhez JavaBeans JDBC RMI reflection, ami csak a betekintést támogatta, a módosítás futás időben nem volt lehetséges. JIT fordító a Microsoft Windows platformokon, melyet a Symantec készített a JavaSoft-nak

J2SE 1.2 1998. december 8-án adták ki Playground (játszótér) kódnéven. Ez és az ezt követő kiadásokat egészen a J2SE 5.0-ig átnevezték visszamenőlegesen Java 2-re. Ezután "J2SE" verziónevet (Java 2 Platform, Standard Edition) használták JDK helyett, hogy megkülönböztethető legyen a J2EE (Java 2 Platform, Enterprise Edition)-től és J2ME (Java 2 Platform, Micro Edition)-től. Ezzel a nagyon jelentős Java kiadással a Java platform megháromszorozta a méretét: 1520 osztály lett 59 csomagban. Főbb bővítései a következők voltak:Version 1.2 press release, Sun. strictfp kulcsszó bevezetése a Swing grafikus API hozzáadása és integrálásása a központi osztálykönyvtárba Sun JVM-et először egészítették ki JIT compiler-re Java plug-in Java IDL, egy IDL implementáció a CORBA-bával való együttműködéshez Java Collections Keretrendszer

J2SE 1.3 2000. május 8-án adták ki Kestrel kódnéven.

A legfontosabb változások a következők voltak:Version 1.3 press release, Sun.Version 1.3 full list of changes , Sun. HotSpot JVM hozzáadása (a HotSpot JVM volt az első kiadás 1999 áprilisában a J2SE 1.2 JVM-hez) RMI-t módosították, hogy opcionális támogatást nyújtson a CORBA-val való kompatibilitáshoz Java Naming and Directory Interface (JNDI) hozzáadása a belső könyvtárakhoz (korábban is elérhető volt kiterjesztésként) Java Platform Debugger Architecture (JPDA) JavaSound Synthetic proxy osztályok

J2SE 1.4 2002. február 6-án adták ki Merlin kódnéven.

Ez volt az első Java platform kiadás, melyet a Java Community Process keretében fejlesztettek ki (JSR 59). Főbb változások a következők voltak:Version 1.4 press release. Nyelvi változások assert kulcsszó (A JSR 41-ben specifikálták.)

Könyvtárak továbbfejlesztése reguláris kifejezések – a Perl reguláris kifejezések szolgáltak modellként kivétel láncolás – lehetővé teszi egy kivétel számára, hogy becsomagolja az eredeti alsóbb szintű kivételt IPv6 támogatás nem blokkoló IO (NIO) (Új Input/Output) (A JSR 51-ban specifikálták.) naplózási API (A JSR 47-ben specifikálták.) image I/O API olyan formátumú képek írásához és olvasásához mint pl. JPEG és PNG beépített XML értelmező (parser) és XSLT feldolgozó (JAXP) (A JSR 5-ben és a JSR 63-ban specifikálták.) integrált biztonsági és kódolási kiterjesztések (JCE, JSSE, JAAS) Java Web Start beemelése (Java Web Start-ot először 2001 márciusában adták ki a J2SE 1.3-hoz) (A JSR 56-ban specifikálták.) Preferences API (java.util.prefs) Az 1.4-es verzióhoz a támogatás és biztonsági frissítések egészen 2008 októberéig voltak elérhetők.

J2SE 5.0 2004. szeptember 30-án adták ki Tiger kódnéven. Eredetileg 1.5-ös száma volt, amelyet még mindig használnak belső verziószámként.Version 5 release notes, Sun. Ezt a verziót a JSR 176 keretein belül fejlesztették ki.

J2SE 5.0 2008. április 8-án elérkezett a nyilvános frissítések végének periódusához, és a frissítések a továbbiakban már nem elérhetők 2009. november 3-adika óta. Az Oracle ügyfelei számára azonban frissítések továbbra is elérhetők 2014 májusáig.Oracle Java SE Support Roadmap

A Tiger számos jelentős új nyelvi szintű újdonságot hozott:Version 1.5 press release.Version 1.5 full list of changes. Generikus típusok Java-ban: fordítás idejű (statikus) típus biztosságot nyújt a collection-ökhoz és szükségtelenné tette a legtöbb típuscast-olást (típus konverzió).(Specifikálva a JSR 14-ban.) Metaadatok: annotációknak is hívják; lehetővé teszi a nyelvi konstrukciók (osztályok és metódusok) címkézését, melyek feldolgozhatók metaadatot kezelni képes segédprogramok segítségével. (Specifikálva a JSR 175-ben.) Autoboxing/unboxing (automatikus típus konverzió): Automatikus konverziók a primitív típusok (pl. int) és primitív csomagoló osztályok között (mint pl. ). (Specifikálva a JSR 201-ben.) Enumeration-ök: Az enum kulcsszó segítségével képezhető típusbiztos rendezett értéklista (pl. Day.MONDAY, Day.TUESDAY, stb.) Előzőleg ezt csak nem típusbiztos konstans integerekkel vagy kézzel készített osztályok segítségével (típusbiztos enum tervezési mintával) lehetett megoldani. (Specifikálva a JSR 201-ben.) Változó számú paraméter metódusban(Varargs): A metódus legutolsó paraméterét mostantól lehet úgy deklarálni, hogy a típus neve és utána három pont (pl. void drawtext(String... lines)). A hívó kódban az adott típus bármilyen számosságban használható, mivel ezek egy tömbbe lesznek elhelyezve, és úgy lesznek átadva a metódusnak vagy alternatív módon a hívó kód is átadhatja az adott típus egy tömbjét. Bővített for each ciklus: A for ciklus szintaxisát kibővítették egy speciális szintaxissal, hogy képes legyen végigmenni egy tömbnek vagy bármely típusnak minden tagján, mint pl. amilyenek a sztenderd osztályok. (Specifikálva a JSR 201-ben.) Kijavították az előzőleg sérült Java memóriamodell szemantikáját, amely definiálja a szálak memórián keresztüli kölcsönhatásba lépését. Statikus importok

A sztenderd könyvtárak is fejlődésen mentek keresztül: Automatikus csonk generálás az RMI az objektumokhoz. Swing: Új szkinezhető synth nevű look and feel. Új konkurencia kezelés a java.util.concurrent csomag alatt. Scanner osztályok adat parse-oláshoz számos input stream és buffer esetén.

Java 5 volt az utolsó Java kiadás, amely hivatalosan is támogatta a Microsoft Windows 9x vonalat (Windows 95, Windows 98, Windows ME), míg a Windows Vista volt a legújabb Windows verzió, amely J2SE 5-t támogatta, mielőtt a Java 5 elérte az életciklusa végét 2009 októberében.

Az Apple Mac OS X 10.5 (Leopard)-ra a Java 5 van telepítve alapértelmezett Java verzióként. A Java 6-ot is lehet telepíteni és alapértelmezettként használhatónak beállítani a 64 bites (Core 2 Duo és későbbiek) processzorral ellátott gépeken. A Java 6 szintén támogatott a 32 bites Mac OS X 10.6 (Snow Leopard) gépeken.

Java SE 6 2006. december 11-én adták ki Mustang kódnéven. Ettől a verziótól kezdve a Sun "J2SE" helyett a Java SE-t kezdte el használni és a verziószámból kihagyta a ".0"-t,Java brand naming. ám a fejlesztőknek továbbra is a belső sorszámozás szerinti verziószámmal, az 1.6.0-tal szerepeltette.Version 6, Java webnotes, Sun. Ezt a verziót a JSR 270 alatt fejlesztették ki.

A fejlesztési fázisban az új kiadások kiegészítéseket és javításokat is egyaránt tartalmaztak, kibocsájtásuk nagyjából hetente történt. A béta verzió kiadása 2006 júniusában történt meg, majd 2006. december 11-ei végső verzió megjelenésével zárult a tesztelési folyamat.

Fő változások ebben a verzióban:Version 1.6 press release.Version 1.6 full list of changes. Megszüntették a régebbi Win9x-es verziók támogatását, nem hivatalosan az Java 6 Update 7 volt a Java utolsó kiadása, amely bizonyíthatóan működött ezeken a Windows verziókon. Hivatalosan az Update 10-zel zárult a támogatás. Scriptnyelvek támogatása (JSR 223): általános API a script nyelvek szoros integrációjához, és beépített Mozilla JavaScript Rhino integráció Drasztikus teljesítmény növekedés az alap platformonJava Lobby .Mustang's HotSpot , Sun weblogs. és a Swing-ben is. Továbbfejlesztett webszolgáltatás támogatás a JAX-WS-n keresztül (JSR 224) JDBC 4.0 támogatás (JSR 221). Java Compiler API (JSR 199): Java programok számára a megfelelő fordító programból való kiválasztását és meghívását lehetővé tevő API. JAXB frissítése 2.0-ra: beleértve a StAX parser integrációját is. Pluggable annotatáció támogatás (JSR 269) Sok GUI továbbfejlesztés, mint pl. SwingWorker integrációja az API-ban, tábla rendezés és szűrés, és valódi Swing dupla pufferelés (szürke területek hatás megszüntetése) JVM továbbfejlesztések, azaz: szinkronizáció és fordítóprogram hatékonyság optimalizációk, új algoritmusok és frissítések a létező szemétgyűjtési algoritmusokon és hatékonyság javítás alkalmazásindításkor.

A Java 6 elérte a támogatott életciklusának végét 2013 februárjában, amikor is minden frissítést beleértve a biztonsági frissítéseket is terv szerint leállitanak. Oracle kiadott még biztonsági sebezhetőségre vonatkozó frissítést 2013 márciusában.

Java 6 frissítések A Java 6 kiadása után a Sun, majd később az Oracle kiadott számos frissítést, melyek nem változtattak meg semmilyen nyilvános API-t, fokozták a végfelhasználói élményét vagy hibát javítottak ki.Java SE 6 Update Release Notes

Kiadás Kiadás dátuma Főbb jellemzőkJava SE 62006-12-23This release adds many enhancements in the fields of Web services, scripting, databases, pluggable annotations, and security, as well as quality, compatibility, and stability. JConsole is now officially supported. Java DB support has been added. Java SE 6 Update 1 2007-05-07 Java SE 6 Update 2 2007-07-03 Java SE 6 Update 3 2007-10-03 Java SE 6 Update 4 2008-01-14 HotSpot VM 10 Java SE 6 Update 5 2008-03-05Several security flaws were eliminated. New root certificates from AOL, DigiCert, and TrustCenter are now included. Java SE 6 Update 6 2008-04-16A workaround for the infamous Xlib/XCB locking assertion issue was introduced. A memory leak when using Kerberos authentication with LoginContext was fixed. Several other bugs were fixed. Java SE 6 Update 7 Nem hivatalosan a Java SE 6 Update 7 (1.6.0.7) a Java utolsó verziója, amelyen még feltüntették, hogy képes működni a Win9x operációs rendszer család alatt.Java SE 6 Update 10Java SE 6 Update 10 Overview2008-10-15HotSpot VM 11. Főbb változások ebben a frissítésben a következők:

Java Deployment Toolkit, a set of JavaScript functions to ease the deployment of applets and Java Web Start applications.Java Deployment Toolkit Java Kernel, a small installer including only the most commonly used JRE classes. Other packages are downloaded when needed. Enhanced updater. Enhanced versioning and pack200 support: server-side support is no longer required.Version Download and Pack200 Support Java Quick Starter, to improve cold start-up time. Improved performance of Java2D graphics primitives on Windows, using Direct3D and hardware acceleration. A new Swing look and feel called Nimbus and based on synth.Nimbus