encyklopedia.run.place

Java 11

Java 11 (pełna nazwa: Java Development Kit 11, w skrócie JDK 11) jest jedenastą wersją platformy Java SE (Standard Edition) oraz jedną z wersji Long‑Term Support (LTS). Została wydana 25 września 2018 roku i jest następczynią Java 10 oraz poprzedniczką Java 12.

Historia i kontekst

W marcu 2017 roku Oracle ogłosiło, że począwszy od wersji 11, wydania JDK będą podzielone na dwie linie: LTS (co trzy lata) oraz non‑LTS (co sześć miesięcy). Java 11 jest pierwszą wersją LTS po Java 8, co spowodowało, że wiele przedsiębiorstw i projektów open‑source przyjęło ją jako podstawową platformę produkcyjną.

Główne nowości

  • Modułowość – dalsze udoskonalenia systemu JPMS (Java Platform Module System), wprowadzonych w Java 9, ułatwiające tworzenie aplikacji modularnych.
  • HTTP Client – stabilna wersja HTTP Client API (java.net.http) umożliwiająca obsługę HTTP/2 i WebSocketów.
  • Local‑Variable Syntax for Lambda Parameters – możliwość użycia var w parametrach wyrażeń lambda, co zwiększa czytelność kodu.
  • String Methods – nowe metody klasy String: lines(), strip(), stripLeading(), stripTrailing(), isBlank() oraz repeat(int).
  • Collections – wprowadzenie metod toArray(IntFunction<T[]>) oraz of() w interfejsie List, Set i Map.
  • Flight Recorder i JFR Event Streaming – wbudowane narzędzia diagnostyczne dostępne w wersji otwarto‑źródłowej.
  • Zdeprecjacje i usunięcia – m.in. usunięto java.se.ee (Java EE) oraz przestarzałe API, takie jak Applet i javaws.

Kompatybilność i migracja

Java 11 zachowuje w pełni wsteczną kompatybilność z poprzednimi wersjami LTS, w szczególności z Java 8, co upraszcza migrację aplikacji. Zaleca się jednak przetestowanie kodu pod kątem użycia usuniętych lub zdeprecjonowanych elementów API.

Wersje i dystrybucje

Oprócz oficjalnej dystrybucji od Oracle Corporation, dostępne są otwarto‑źródłowe wersje JDK 11, m.in.:

Wsparcie długoterminowe (LTS)

Oracle zapewnia publiczne aktualizacje bezpieczeństwa i poprawki krytyczne dla JDK 11 do września 2026 roku. Inne dystrybucje zwykle oferują wsparcie w podobnym lub dłuższym okresie, co czyni Java 11 atrakcyjnym wyborem dla środowisk produkcyjnych.

Powiązane pojęcia

Zobacz także: JVM (Java Virtual Machine), garbage collection, JIT (Just‑In‑Time Compilation), programowanie modularne, architektura mikroserwisowa.