Przeprowadzono go w grudniu ubiegłego roku uruchomienie wersji beta JDK zawiera różne funkcje, z których wydano dziewięć głównych nowych funkcjitakie jak obsługa Unicode 11, nowy format klucza prywatnego zakodowanego x25519 i x448, który jest zgodny z RFC 8410.
Teraz w tym miesiącu Oracle ogłosił pierwszą wersję Release Candidate JDK 12 który jest już dostępny do pobrania na platformy Linux, Mac OS i Windows.
Ta wersja RC1 została wydana w celu zidentyfikowania ewentualnych błędówr, a także różne sugestie społeczności przed datą jej ogólnej dostępności zaplanowaną na 19 marca.
Funkcje wprowadzone w wersji Beta
- Shenandoah: Jest to krótkotrwały garbage collector, który wykonuje pracę polegającą na jednoczesnej ewakuacji pomiędzy działającymi wątkami Java. Czasy spoczynku są niezależne od rozmiaru sterty, co oznacza, że będziesz mieć takie same stałe czasy pauzy, niezależnie od tego, czy sterta ma 200 MB, czy 200 GB.
- Mikrobenchmark: to narzędzie pomagające programistom w korzystaniu z istniejących mikro-kryteriów w kodzie źródłowym JDK lub w tworzeniu nowych.
- Przełącz wyrażenia: wprowadź pewne zmiany w instrukcji przełączania, aby uczynić ją bardziej elastyczną.
Literały niebędące ciągami - umożliwia programistom tworzenie własnych literałów i dodawanie ich do języka. - Interfejs API stałych JVM: umożliwia dodanie interfejsu API dla nominalnych opisów klasy głównej i artefaktów plików klas, zwłaszcza stałych, które mogą być ładowane z grupy stałych.
- Jeden port AArch64, nie dwa: Służy do usuwania wszystkich źródeł związanych z arm64port, aby umożliwić wszystkim współpracownikom skupienie się na pojedynczej 64-bitowej implementacji ARM i wyeliminowanie powielania pracy wymaganej przy utrzymywaniu dwóch portów.
- Domyślne archiwa CDS: Służy do ulepszania procesu kompilacji JDK w celu generowania pliku wymiany danych klas (CDS) przy użyciu domyślnej listy klas na platformach 64-bitowych.
- Przerwane kolekcje mieszane dla G1: umożliwia anulowanie kolekcji przedmiotów, jeśli mogą przekroczyć cel wstrzymania.
- Niezwłocznie zwróć niewykorzystaną pamięć zadeklarowaną z G1: poprawia odzyskiwanie G1, dzięki czemu może automatycznie zwracać pamięć sterty Java do systemu operacyjnego, gdy jest ona bezczynna.
Surowy sznur Literały już nie wiem będzie zawierać w JDK 12
Zaledwie kilka dni po wydaniu JEP ogłosił, że jedna z funkcji zawartych w wersji beta prawdopodobnie nie będzie już obsługiwana lub nie będzie już zintegrowana z JDK 12.. Były to dosłowne ciągi znaków, dla których JEP wskazał, że nie znalazł jeszcze prawidłowego sposobu implementacji tej funkcji w JDK 12.
„Przeglądając otrzymane opinie, nie jestem już przekonany, że znaleźliśmy właściwą równowagę między złożonością a wyrazistością lub że zbadaliśmy przestrzeń projektową na tyle, aby zapewnić, że obecny projekt jest najlepszym, co możemy zrobić.
Usuwając go, możemy dalej dopracowywać układ, badać więcej opcji i znaleźć podgląd, który faktycznie spełnia wymagania procesu funkcji podglądu (JEP 12) ”- napisał Brian Goetz w e-mailu.
Aby się usprawiedliwić, JEP wymienił kilka powodów tego usunięcia.
Np. Literały łańcuchowe mogą obejmować wiele wierszy i nie interpretują sekwencji sterujących as \ n odpowiadające ucieczkom Unicode w postaci \ uXXXX lub faktowi, że literały łańcuchowe na ogół nie obsługują bezpośrednio interpolacji ciągów.
JEP przytoczył wiele innych problemów (np. ograniczniki) związane z surowymi literałami ciągów na stronie OpenJDK.
W porównaniu ze swoimi odpowiednikami, JEP stwierdził, że języki programowania, takie jak C ++, Groovy, JavaScript, Python, aby wymienić tylko kilka, używają surowych literałów ciągów i dlatego uczą się tych języków pod kątem separatorów.
Rozładowanie
Dla zainteresowanych przetestowaniem tego RC JDK 12 puszka odwiedź poniższy link gdzie znaleźć pakiety dla różnych platform (Windows, Mac i Linux)