encyklopedia.run.place

Java SE

Java SE (ang. Java Platform, Standard Edition) jest podstawową platformą programistyczną języka Java, zapewniającą zestaw bibliotek, wirtualną maszynę oraz narzędzia niezbędne do tworzenia i uruchamiania aplikacji desktopowych, serwerowych i wbudowanych. Platforma ta jest rozwijana i utrzymywana przez Oracle Corporation, a jej korzenie sięgają firmy Sun Microsystems.

Historia

Początki Java SE sięgają 1995 roku, kiedy to Sun Microsystems opublikował język programowania Java jako część projektu Green Project. Pierwsza wersja, oznaczona jako Java 1.0, została wydana publicznie w 1996 roku. Od tego czasu platforma przeszła liczne przebudowy, a każda kolejna wersja wprowadzała nowe API, usprawnienia w JVM oraz zmiany w specyfikacji języka.

Kluczowe wersje

Składniki platformy

Java SE składa się z kilku kluczowych elementów:

  1. JVM (Java Virtual Machine) – środowisko wykonawcze, które interpretuje bytecode i zarządza pamięcią (garbage collection).
  2. JDK (Java Development Kit) – zestaw narzędzi deweloperskich, w tym kompilator javac, debugger, oraz biblioteki klas.
  3. API standardowych bibliotek – ponad 4000 klas podzielonych na pakiety (np. java.lang, java.util, java.io, java.nio, java.sql).

Podstawowe pakiety

Pakiet Opis
java.lang Podstawowe klasy języka, m.in. Object, String, Math.
java.util Struktury danych, klasy pomocnicze, Collections Framework, API daty i czasu.
java.io Operacje wejścia‑wyjścia, strumienie, serializacja.
java.nio Nowoczesne API I/O, bufory, kanały, selektory.
java.sql Interfejs JDBC umożliwiający dostęp do baz danych.
java.net Komunikacja sieciowa, sockety, HTTP.
java.awt oraz javax.swing Tworzenie interfejsów graficznych (GUI).

Model wydawniczy

Od 2017 roku Oracle przyjął model wydawniczy zwany Time‑Based Release, w którym nowe wersje platformy pojawiają się co sześć miesięcy. Co trzy lata publikowana jest wersja LTS (Long‑Term Support), zapewniająca dłuższe wsparcie techniczne i aktualizacje bezpieczeństwa. Aktualnie najnowszą wersją LTS jest Java 21.

Zastosowania

Java SE jest wykorzystywana w:

  • aplikacjach desktopowych (np. Eclipse IDE, IntelliJ IDEA),
  • narzędziach administracyjnych i skryptach systemowych,
  • rozwiązaniach wbudowanych (IoT), gdzie używa się Java Embedded,
  • testowaniu i prototypowaniu, ze względu na szybki czas kompilacji i bogate API.

Kompatybilność i migracja

Jedną z fundamentalnych cech Java SE jest Write Once, Run Anywhere (WORA). W praktyce oznacza to, że aplikacje skompilowane do bytecodeu są przenośne pomiędzy różnymi systemami operacyjnymi, o ile dostępna jest odpowiednia implementacja JVM.

Podczas migracji między wersjami najważniejsze są:

  • sprawdzenie zdeprecjonowanych i usuniętych API,
  • uruchomienie testów przy użyciu jlink lub jpackage,
  • przegląd ustawień pamięci i parametrów startowych VM (np. -Xmx, -XX:+UseG1GC).

Powiązane projekty

Java SE współdziała z wieloma innymi projektami ekosystemu Java:

  • Java EE – rozszerzenie o API dla aplikacji korporacyjnych (EJB, JPA, Servlety).
  • Jakarta EE – otwartoźródłowy fork Java EE prowadzony przez Eclipse Foundation.
  • OpenJDK – otwartoźródłowa implementacja specyfikacji Java SE, używana jako podstawa komercyjnych dystrybucji.
  • Project Loom – inicjatywa wprowadzająca wirtualne wątki, dostępna od Java 19.
  • Project Panama – projekt umożliwiający łatwiejszą integrację z kodem natywnym (C/C++).

Licencja i dostępność

Od 2019 roku Oracle udostępnia Oracle JDK na licencji komercyjnej z darmową wersją Oracle Java SE Support dla użytku niekomercyjnego. Jednocześnie OpenJDK, wydany pod licencją GPLv2 + Classpath Exception, jest wolnodostępny i stanowi podstawę wielu dystrybucji (np. AdoptOpenJDK, Amazon Corretto, Zulu OpenJDK).

Przyszłość

Rozwój Java SE koncentruje się na zwiększaniu wydajności (wirtualne wątki, optymalizacje JIT), poprawie ergonomii programisty (pattern matching, records) oraz dalszej integracji z nowoczesnymi technologiami chmurowymi i mikroserwisowymi. Dzięki modelowi wydawniczemu oraz silnemu wsparciu społeczności, platforma pozostaje jedną z najważniejszych technologii w branży oprogramowania.

Bibliografia

  • Oracle. Java Platform, Standard Edition Documentation.
  • OpenJDK Project. OpenJDK Release Notes.
  • Sun Microsystems. The Java Language Specification.