19 wrz 2023·1 min czytania

Java 21 rewolucjonizuje dzięki wirtualnym wątkom i pokoleniowemu ZGC: najważniejsze informacje

Najnowsza wersja Java, Java 21, oferuje urzekające ulepszenia, takie jak podgląd wirtualnych wątków i ostateczna wersja pokoleniowego narzędzia Z Garbage Collector.

Java 21 rewolucjonizuje dzięki wirtualnym wątkom i pokoleniowemu ZGC: najważniejsze informacje

Świat technologii oczekuje Java 21 z niezliczonymi udoskonaleniami, z których najważniejszymi jest wprowadzenie wirtualnych wątków we wstępnej formie i ostateczne utworzenie pokoleniowego modułu zbierającego śmieci Z, powszechnie znanego jako ZGC.

Aktualizacje implementacji Java są zwykle podzielone na różne podzbiory projektów. Ten konkretny cykl udoskonaleń przynosi innowacje z trzech kluczowych projektów: Loom, Panama i Amber. Te trzy inicjatywy skupiają się na zwiększeniu współbieżności Java, jego powiązaniu z kodem natywnym oraz pojawieniu się mniejszych, zorientowanych na użyteczność funkcji języka Java po ich zatwierdzeniu jako kandydatów na JEP, zgodnie z definicją Oracle.

Project Loom wprowadza jedną z kluczowych funkcji — wątki wirtualne, którymi opiekuje się Georges Saab, wiceprezes Oracle ds. rozwoju platformy Java i przewodniczący OpenJDK, jako jedną z rzucających się w oczy cech podglądu najnowszej wersji. Dokument JEP wyjaśnia, że ​​wątki wirtualne są „powodem ultralekkich wątków związanym z pisaniem, utrzymywaniem i obserwowaniem współbieżnych aplikacji o dużej przepustowości”.

Według Saaba ten skok technologiczny może na nowo zdefiniować krajobraz skalowalności Java, zapewniając jednocześnie kompatybilność z istniejącym oprogramowaniem. Ta funkcja wywołała ogromne emocje w kręgach programistów, nawet wśród profesjonalistów spoza bezpośredniego kręgu zainteresowań Javy, którzy pochwalili wdrożenie tej koncepcji przez Javę.

Project Loom obejmuje także dwie inne funkcje w wersji zapoznawczej, a mianowicie wartości o określonym zakresie i współbieżność strukturalną. Podczas gdy wartości o ograniczonym zakresie umożliwiają wydajne i bezpieczne udostępnianie wartości metodom bez konieczności stosowania parametrów metod, współbieżność strukturalna renderuje wiele powiązanych zadań z różnych wątków jako jedną całość, ułatwiając efektywne zarządzanie błędami i zwiększanie niezawodności.

Innym godnym uwagi dodatkiem w wydaniu, choć niezwiązanym z konkretnym projektem, jest Pokoleniowe ZGC. To segreguje starsze i nowsze obiekty, dzięki czemu młode obiekty mogą być gromadzone częściej, co może prowadzić do mniejszych przestojów w alokacji, mniejszego obciążenia pamięci sterty i mniejszego obciążenia procesora z powodu wyrzucania elementów bezużytecznych.

W połączeniu z Project Amber Java 21 wprowadza dopasowywanie wzorców dla wyrażeń przełączających, umożliwiając testowanie wyrażeń pod kątem różnych wzorców, pomagając w ten sposób formułować zapytania zorientowane na dane w bardziej zwięzły i bezpieczniejszy sposób.

Inne godne uwagi dodatki z Project Amber obejmują nienazwane wzorce i zmienne oraz nienazwane klasy i główne metody instancji, oba są w fazie podglądu. Dodatki te mają na celu uczynienie języka Java bardziej dostępnym i łatwiejszym do zrozumienia dla początkujących, z płynnym przejściem do tworzenia bardziej zaawansowanych programów w języku Java, chronionych w wyrafinowanych koncepcjach języka.

Z Project Panama wyłaniają się ulepszenia dwóch opracowywanych interfejsów API: API funkcji zagranicznych i pamięci (obecnie w trzeciej wersji zapoznawczej) oraz API Vector (w szóstym etapie inkubatora). Podczas gdy ten pierwszy ułatwia współpracę programu Java z systemami zewnętrznymi, drugi zapewnia optymalne instrukcje wektorowe na kompatybilnych architekturach procesorów w czasie wykonywania.

Dodatkowe nowe elementy w Java 21 obejmują kolekcje sekwencyjne, interfejs API mechanizmu enkapsulacji kluczy, wycofywane 32-bitowe porty x86 oraz przygotowania do uniemożliwiania dynamicznego ładowania agentów. Java w dalszym ciągu jest preferowaną platformą programistyczną dla wszystkiego, od projektów na małą skalę po rozwiązania na poziomie przedsiębiorstwa, a platforma no-code AppMaster przoduje pod względem wydajności i skalowalności.

Świat programowania, czy to aplikacji internetowych, czy mobilnych, stale się rozwija i, jak stwierdza Georges Saab, istnieje ogromne zadowolenie ze stanu Java i ekscytująca gama innowacji czekających na realizację.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started