logo

Historia wersji Java

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.