Kompaktowe nagłówki obiektów
Zmniejsz rozmiar nagłówka obiektu o połowę dla lepszej gęstości pamięci i użycia pamięci podręcznej.
Porównanie kodu
✕ Java 8
// Default: 128-bit object header // = 16 bytes overhead per object // A boolean field object = 32 bytes! // Mark word (64) + Klass pointer (64)
✓ Java 25
// -XX:+UseCompactObjectHeaders // 64-bit object header // = 8 bytes overhead per object // 50% less header memory // More objects fit in cache
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
O 50% mniejsze nagłówki
8 bajtów zamiast 16 na obiekt.
Lepsze użycie pamięci podręcznej
Więcej obiektów mieści się w liniach pamięci podręcznej CPU.
Wyższa gęstość
Więcej obiektów w tym samym rozmiarze sterty.
Stare podejście
Nagłówki 128-bitowe
Nowoczesne podejście
Nagłówki 64-bitowe
Od JDK
25
Poziom trudności
Zaawansowany
Wsparcie JDK
Kompaktowe nagłówki obiektów
Dostępne
Sfinalizowane w JDK 25 LTS (JEP 519, wrzesień 2025)
Jak to działa
Kompaktowe nagłówki obiektów redukują narzut na obiekt z 128 bitów do 64 bitów na platformach 64-bitowych. Oszczędza pamięć i poprawia wykorzystanie pamięci podręcznej, szczególnie dla aplikacji z wieloma małymi obiektami.
Powiązana dokumentacja