Java 9 - przegląd
JAVA 9 (aka jdk 1.9) to główne wydanie języka programowania JAVA. Jego pierwotna wersja została wydana 21 września 2017 r. Główne cele wydania Java 9 to:
Uczynić platformę JDK i Java Standard Edition modułową w tym sensie, że można ją dobrze sprowadzić do małych urządzeń komputerowych.
Poprawa ogólnego bezpieczeństwa implementacji JDK i Java.
Aby ułatwić proces budowania i utrzymywanie bibliotek kodu Java i dużych aplikacji dla platform JAVA SE i EE.
Zaprojektować i wdrożyć standardowy system modułowy dla platformy Java, który można łatwo zastosować zarówno na platformie, jak i JDK.
Nowe funkcje
Do Java 8 dodano ponad 90 ulepszeń, z których najważniejsze wymieniono poniżej -
Module - Nowy rodzaj komponentu programowania Java wprowadzony jako moduł, który jest nazwanym, samoopisującym się zbiorem kodu i danych.
REPL (JShell) - Dodano możliwość odczytu-oceny-drukowania (REPL) do platformy Java.
HTTP 2 Client - nowy interfejs API HTTPClient obsługujący gniazda sieciowe i strumienie HTTP 2 oraz funkcje wypychania serwera.
Improved JavaDocs- Obsługuje generowanie danych wyjściowych HTML5. Udostępnia pole wyszukiwania do wygenerowanej dokumentacji API.
Multirelease JAR - Ulepsza format JAR, dzięki czemu wiele wersji plików klas specyficznych dla wydania Java może współistnieć w jednym archiwum.
Collection Factory Methods - Nowe statyczne metody fabryki dla interfejsów List, Set i Map do tworzenia niezmiennych instancji tych kolekcji.
Private Interface Methods - Ulepszone interfejsy z prywatnymi i prywatnymi metodami statycznymi.
Process API Improvements - Ulepszone API do kontroli i zarządzania procesami systemu operacyjnego.
Stream API Improvements - Zwiększone bezpieczeństwo i niezawodność dzięki możliwości filtrowania przychodzących strumieni danych serializacji obiektów.
Try With Resources improvement - Teraz końcowe zmienne mogą być używane jako zasoby w instrukcji try-with-resources.
Enhanced @Deprecated Annotation - Zmodyfikowana adnotacja @Deprecated, aby zapewnić więcej informacji o stanie i zamierzonej dyspozycji interfejsu API.
Inner Class Diamond Operator - Zezwalaj na używanie operatora rombu z klasami anonimowymi, jeśli typ argumentu wywnioskowanego typu można oznaczyć.
Optional Class Improvements - Do klasy java.util.Optional dodano nowe przydatne metody.
Multiresolution Image API - Obsługuje hermetyzację zestawu obrazów o różnych rozdzielczościach w jednym obrazie wielorozdzielczym.
CompletableFuture API improvements - Mechanizmy asynchroniczne klasy CompletableFuture mogą wykonywać akcję po zakończeniu procesu za pomocą metody ProcessHandle.onExit.
Lightweight JSON - Lekki interfejs API wprowadzony do konsumowania i generowania dokumentów i strumieni danych za pośrednictwem json w java 9.
Reactive Streams API - Wprowadzono nowy interfejs API strumieni reaktywnych w Javie SE 9, aby wspierać programowanie reaktywne w Javie 9.