Ulepszenie współdzielenia danych w klasach Javy może poprawić czas uruchamiania systemu

Plan OpenJDK poprawiłby wsparcie dla zarchiwizowanych obiektów sterty Java w udostępnianiu danych klasowych, dostosowując się do wysiłku Project Leyden w celu poprawy wydajności uruchamiania. Wysiłki zmierzające do poprawy czasów uruchamiania programów w Javie i ich wydajności mają obejmować poprawę wsparcia dla zarchiwizowanych obiektów sterty Javy w CDS (class data sharing).

Christina Morillo/ Pexels

Plan ten, upubliczniony przez Ioi Lama z Oracle w RFC społeczności OpenJDK pod koniec 2022, jest zgodny z Project Leyden, wysiłkiem mającym na celu poprawę czasów uruchamiania aplikacji Java, jak również czasów osiągania szczytowej wydajności i śladów programów. Lam zauważył, że Projekt Leyden będzie prawdopodobnie szeroko wykorzystywał zarchiwizowane obiekty sterty Javy.

Cele planu usprawnienia CDS obejmują jednolite wsparcie CDS dla wszystkich kolektorów i minimalizację kodu potrzebnego do obsługi CDS przez każdy kolektor. Sam CDS ma na celu skrócenie czasu uruchamiania aplikacji, w szczególności dla mniejszych aplikacji. CDS jest obsługiwany tylko przez maszynę wirtualną klienta Java HotSpot i tylko przez seryjny garbage collector.

Zobacz również:

  • Java po raz pierwszy od dwóch dekad nie znalazła się w pierwszej trójce indeksu Tiobe

Plan ulepszenia CDS wygląda tak:

• Usunięcie zależności G1 garbage collector od zapisu sterty archiwalnej; powstał już działający prototyp.

• Konsolidacja sterty archiwum w jeden spójny blok. Celem jest ułatwienie mmapowania (mapowania pamięci) sterty archiwum do różnych kolektorów. W ramach tego kroku planowane jest również usunięcie typów regionów archiwalnych G1.

• Implementacja mmap regionu archiwalnego dla innych kolektorów. Oczekuje się, że implementacja będzie dość prosta.

Od Java Development Kit (JDK) 20, który ma być wydany produkcyjnie w marcu, realizatorzy planu muszą radzić sobie z ograniczeniami, w tym z dumpingiem archiwów CDS obsługiwanym tylko przez kolektor G1, G1 posiadającym specjalną procedurę alokacji miejsca na stercie i mmap obsługiwanym tylko w G1.

Impulsem do stworzenia propozycji CDS był plan rozwoju Javy, aby mieć jednolite API do używania zarchiwizowanych regionów. Propozycja ta pojawiła się w listopadzie ubiegłego roku.

Źródło: Infoworld

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200