Java

Java 11 – opis i wideo prezentacja zmian

Java 11

Java 11 jest już z nami od ponad roku. Jest ona najnowszym LTS’em, do czasu wydania Java 17, która zadebiutuje we wrześniu 2021. Jeśli jeszcze nie udało Ci się zapoznać ze zmianami – to pora to nadrobić 😊

Opis najnowszej wersji Java 13 znajdziesz w artykule Java 13 – wideo prezentacja wszystkich jej możliwości

Przy której wersji Java zostają programiści?

Zapytałem programistów, którą wersje Java stosują w swoich projektach. Zazwyczaj – nie jedną. Poniżej wyniki ankiet.

Zamiany w Java 11

  • Java FX 11
  • Read-Eval-Print Loop (REPL) – Java 11 dostała własną powłokę poleceń, które dobrze są znane w Python i Ruby. Funkcjonalność tę wprowadzono w ramach noLTS Java 9. Umożliwia ona na wykonywanie operacji arytmetycznych, pisaniu i modyfikowaniu metod oraz szybkiego uruchamiania pojedynczych klas napisanych w Java.
  • Zmienna var – daje możliwość wnioskowania jaki typ ma być przyporządkowany dla wyrażenia np.:
    var value = 3 + 3; // int
    var user = list.stream()
            .filter(element -> element.equals(readUser))
            .collect(Collectors.toList()); // List<User>
    Zwalnia to programistę z konieczności wyboru i deklaracji typu. Chociaż dla mnie osobiście jest to zmiana, która może wywołać większy chaos w kodzie niż pozwoli osiągnąć jakiekolwiek korzyści.
  • Wdrożono implementacje – TLS 1.3 (JEP 332, Post-handshake authentication i Signed Certificate Timestamps
  • Dodano implementacje algorytmów kryptograficznych Curve25519 i Curve448 oraz kluczy ChaCha20 i Poly1305
  • Dodano dwa Garbage collectory ZGC – który jest bardzo wydajny, nie zwraca on pamięci do systemu (poprawiono to w ramach Java 13). Drugi GC Epsilon, który nie wykonuje żadnych operacji i jego celem jest sprawdzenie jak aplikacja będzie zachowywała się przy wysokim zużyciu pamięci.
  • Zostały usunięte moduły, które były oznaczone adnotacja @Deprecated – Javy EE (aby zmniejszyć uzależnienie JavaEE od JavaSE) oraz CORBA
  • Flight Recorder jako nowy profiler dla JVM
  • Rozbudowano API dla String – doszły nowe metody między innymi isBlank(), strip() stripLeading() stripTrailing()

Wideo prezentacja przestawiająca

Show Buttons
Hide Buttons