JDK Alfa i Beta (1995)
Pierwsze wydania to Java Alpha i Beta, ale mają one bardzo niestabilne interfejsy API i ABI. Dostarczona przeglądarka internetowa Java została nazwana WebRunner.
JDK 1.0 (23 stycznia 1996)
Była to pierwsza stabilna wydana wersja Java. Jego kryptonim brzmiał Dąb .Pierwszą stabilną wersją JDK był JDK 1.0.2 i nosił nazwę Java 1.
Do wersji JDK 1.0.1 słowa kluczowe private i chronione mogły być używane razem w celu stworzenia kolejnej formy ochrony, która działała jako ograniczenie metod lub zmiennych, głównie do podklas danej klasy. W JDK 1.0.2 ta możliwość została usunięta.
JDK 1.1 (19 lutego 1997)
Do tej wersji dołączono kilka dodatków. tj.
- Pojęcie klasy wewnętrznej
- JavaBeans
- JDBC
- RMI
- Model zdarzeń AWT został całkowicie przekształcony.
- Reflection (który obsługiwał tylko introspekcję, modyfikacja nie była możliwa w czasie wykonywania).
- Kompilator JIT (Just In Time) na platformy Microsoft Windows, wyprodukowany dla JavaSoft przez firmę Symantec
- Obsługa internacjonalizacji i Unicode pochodząca od Taligent.
J2SE 1.2 (8 grudnia 1998)
Jego kryptonim brzmiał Plac zabaw . Za pierwszym razem tak się nazywało J2SE (platforma Java 2, wersja standardowa) .Zastąpił JDK w celu rozpoznania platformy podstawowej J2EE (platforma Java 2, wersja Enterprise) i J2ME (platforma Java 2, wersja Micro) .Było to bardzo ważne wydanie Java, ponieważ potroiło rozmiar platformy Java do 1520 klas w 59 pakietach.
Do tej wersji dołączono kilka dodatków. tj.
- Wtyczka Java
- Java IDL, implementacja IDL dla interoperacyjności CORBA
- Ramy kolekcji
- graficzny interfejs API Swing został zintegrowany z klasami podstawowymi
- JVM firmy Sun została po raz pierwszy wyposażona w kompilator JIT
J2SE 1.3 (8 maja 2000)
Jego kryptonim brzmiał Pustułka . Do tej wersji dołączono kilka dodatków. tj.
- W zestawie maszyna JVM HotSpot.
- RMI został zmodyfikowany w celu obsługi opcjonalnej kompatybilności z CORBA.
- JNDI (interfejs nazewnictwa i katalogów Java).
- Uwzględniono architekturę debugera platformy Java (JPDA).
- Dźwięk Java.
- Syntetyczne klasy proxy.
J2SE 1.4 (6 lutego 2002)
Jego kryptonim brzmiał Merlinie . Była to pierwsza platforma Java wydana w ramach procesu społecznościowego Java.
Do tej wersji dołączono kilka dodatków. tj.
- Ulepszone biblioteki.
- Uwzględniono wyrażenia regularne Perla.
- Zapewnione łączenie wyjątków (pozwala wyjątkowi na hermetyzację oryginalnego wyjątku niższego poziomu).
- Obsługa protokołu IPv6 (protokół internetowy w wersji 6).
- Interfejs API rejestrowania (określony w JSR 47.)
- Image I/O API do odczytywania i zapisywania obrazów w formatach takich jak JPEG i PNG.
- Zintegrowany parser XML i procesor XSLT.
- Zintegrowane rozszerzenia bezpieczeństwa i kryptografii (JCE, JSSE, JAAS).
Wsparcie i aktualizacje zabezpieczeń dla Java 1.4 zakończyły się w październiku 2008.
J2SE 5.0 (30 września 2004)
Jego kryptonim brzmiał Tygrys. Pierwotnie nosił numer 1.5 i nadal jest używany jako wewnętrzny numer wersji. Dlatego zmieniono go na wersję 5.0, aby „lepiej odzwierciedlać poziom dojrzałości, stabilności, skalowalności i bezpieczeństwa J2SE”. Proces ten został również udostępniony w ramach procesu społecznościowego Java.
Wsparcie i aktualizacje zabezpieczeń dla języka Java 5.0 zakończyły się 3 listopada 2009 r., ale aktualizacje były dostępne dla płatnych klientów Oracle do maja 2015 r.
J2SE 5.0 dodał kilka istotnych nowych funkcji językowych:
- Zapewnia bezpieczeństwo typów kolekcji w czasie kompilacji (statyczne) i eliminuje potrzebę stosowania większości rzutowań.
- Używane metadane lub adnotacje.
- Automatyczne pakowanie/rozpakowywanie.
- Wyliczenia.
- Ulepszone dla każdej pętli.
- Ulepszona semantyka wykonywania wielowątkowych programów Java.
- Import statyczny.
Wprowadzono również pewne ulepszenia w bibliotekach standardowych:
- Automatyczne generowanie kodu pośredniczącego dla obiektów RMI.
- Swing: Zapewniał chudy wygląd i styl.
- Narzędzia współbieżności w pakiecie java.util.concurrent.
- Klasa skanera do analizowania danych z różnych strumieni wejściowych i buforów.
Java 5 była ostatnią wersją Java, która oficjalnie obsługiwała linię Microsoft Windows 9x (Windows 95, Windows 98, Windows ME).
Windows Vista był ostatnią wersją systemu Windows obsługiwaną przez J2SE 5 przed zakończeniem działalności w październiku 2009 r.
Java 5.0 to domyślna wersja Java instalowana w systemie Apple Mac OS X 10.5 (Leopard). Można zainstalować Javę 6
Java SE 6 (11 grudnia 2006)
Jego kryptonim brzmiał Mustang . Po wydaniu tej wersji Java zastąpiła nazwę J2SE na Java SE i usunęła końcówkę .0 z numeru wersji.
Do tej wersji dołączono kilka dodatków. tj.- Porzucono obsługę starszych wersji Win9x.
- Obsługa języka skryptowego.
- Ogólny interfejs API zapewniający ścisłą integrację z językami skryptowymi.
- Ulepszona obsługa usług internetowych.
- Obsługa JDBC 4.0.
- Użyj interfejsu API kompilatora Java, aby programowo wywołać kompilator Java.
Po wydaniu Java 6 firma Sun wydała wiele aktualizacji naprawiających błędy.
Java SE 7 (28 lipca 2011)
Jego kryptonim brzmiał Delfin. Został uruchomiony 7 lipca 2011 r., ale został udostępniony programistom 28 lipca 2011 r.
Do tej wersji dołączono kilka dodatków. tj.
Java nie
- Obsługa JVM dla języków dynamicznych.
- Skompresowany wskaźnik 64-bitowy.
- Ciągi dodane w przełączniku.
- Automatyczne zarządzanie zasobami w instrukcji try.
- Podkreślenia dozwolone w literałach numerycznych.
- Binarne literały całkowite.
- Ulepszony interfejs typów do tworzenia instancji ogólnej. (zwany także operatorem diamentowym)
- Poprawione łapanie i rzucanie. (przechwyć wiele wyjątków i rzuć ponownie z ulepszonym sprawdzaniem typu)
- Dostarczone zestawy reguł wdrażania Java.
Była to domyślna wersja do pobrania w witrynie java.com od kwietnia 2012 r. do wydania Java 8.
Java SE 8 (18 marca 2014)
Jego kryptonim brzmiał Pająk . Chociaż kryptonimy zostały wycofane, ale kryptonim Pająk jest powszechne wśród programistów Java.
Zawiera pewne funkcje, które zostały zaproponowane dla Java SE 7, ale dodane w Java SE 8.
- Obsługa wyrażeń Lambda na poziomie języka.
- Zezwolono programistom na osadzanie kodu JavaScript w aplikacjach.
- Adnotacja typów Java.
- Dostarczony interfejs API daty i godziny.
- Powtarzające się adnotacje.
- Uruchamianie aplikacji JavaFX.
- Usunięcie generacji trwałej.
Java SE 8 nie jest obsługiwana w systemie Windows XP, ale po aktualizacji JDK 8 25 możemy ją zainstalować i uruchomić w systemie Windows XP.
Java 8 jest ustawiona jako domyślna wersja do pobrania z java.com od października 2014 r.
Java SE 9 (21 września 2017 r.)
W 2016 roku firma Oracle omawiała niektóre funkcje, które mają zostać wydane w Javie 9. Oczekiwano, że Java 9 będzie zawierać lepszą obsługę wielogigabajtowych stert, lepszą integrację kodu natywnego, inny domyślny moduł zbierający elementy bezużyteczne i samodostrajająca się maszyna JVM. Wydanie Java 9 było wielokrotnie przekładane i ostatecznie zostało wydane 21 września 2017 roku.
Zawiera kilka specyficznych funkcji:
- Modularyzacja JDK w ramach Project Jigsaw.
- Dostarczono interfejs API pieniędzy i walut.
- Ścisła integracja z JavaFX.
- Implementacja strumieni reaktywnych w języku Java.
- Więcej aktualizacji współbieżności.
- Dostarczono linker Java.
- Automatyczne skalowanie i wymiarowanie.
Java SE 10 (20 marca 2018 r.)
Java SE 10 została wydana w celu usunięcia prymitywnych typów danych i przejścia w kierunku 64-bitowych tablic adresowalnych w celu obsługi dużych zbiorów danych. Została wydana 20 marca 2018 r. i potwierdzono dwanaście nowych funkcji. Te funkcje to:
- Wnioskowanie o typie zmiennej lokalnej
- Eksperymentalny kompilator JIT oparty na Javie Jest to integracja dynamicznego kompilatora Graal dla platformy Linux x64
- Udostępnianie danych klas aplikacji Umożliwia to umieszczanie klas aplikacji we współdzielonym archiwum w celu ograniczenia uruchamiania i zajmowania miejsca przez aplikacje Java
- Wersjonowanie wersji oparte na czasie
- Równoległe pełne GC dla G1
- Interfejs zbierający śmieci
- Dodatkowe rozszerzenia znaczników języka Unicode
- Certyfikaty główne
- Lokalne uściski dłoni w wątku
- Alokacja sterty na alternatywnych urządzeniach pamięci
- Usuń narzędzie do generowania nagłówków natywnych - javah
- Skonsoliduj las JDK w jedno repozytorium
JavaSE11
Obecnie jest otwarty w celu naprawienia błędów.