Kompakt nesne başlıkları
Daha iyi bellek yoğunluğu ve önbellek kullanımı için nesne başlık boyutunu yarıya indirin.
Kod Karşılaştırması
✕ 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
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
%50 daha küçük başlıklar
Nesne başına 16 yerine 8 bayt.
Daha iyi önbellek kullanımı
CPU önbellek satırlarına daha fazla nesne sığar.
Daha yüksek yoğunluk
Aynı heap boyutuna daha fazla nesne yerleştirin.
Eski Yaklaşım
128 bit Başlıklar
Modern Yaklaşım
64 bit Başlıklar
JDK'dan itibaren
25
Zorluk
İleri
JDK Desteği
Kompakt nesne başlıkları
Mevcut
JDK 25 LTS'de tamamlandı (JEP 519, Eylül 2025).
Nasıl çalışır
Kompakt nesne başlıkları, 64 bit platformlarda nesne başına ek yükü 128 bitten 64 bite düşürür. Bu durum belleği tasarruf eder ve özellikle çok sayıda küçük nesne içeren uygulamalarda önbellek kullanımını iyileştirir.
İlgili Belgeler