رؤوس الكائنات المضغوطة
قلّص حجم رأس الكائن إلى النصف لكثافة ذاكرة وكفاءة ذاكرة تخزين مؤقت أفضل.
مقارنة الكود
✕ 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
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
رؤوس أصغر بـ 50%
8 بايت بدلاً من 16 لكل كائن.
استخدام أفضل لذاكرة التخزين المؤقت
المزيد من الكائنات تتسع في أسطر ذاكرة التخزين المؤقت للمعالج.
كثافة أعلى
تسع المزيد من الكائنات في نفس حجم الكومة.
الأسلوب القديم
رؤوس 128 بت
الأسلوب الحديث
رؤوس 64 بت
منذ JDK
25
الصعوبة
متقدم
دعم JDK
رؤوس الكائنات المضغوطة
متاح
أُنهيت في JDK 25 LTS (JEP 519، سبتمبر 2025).
كيف يعمل
تُقلّص رؤوس الكائنات المضغوطة الحمل الزائد لكل كائن من 128 بتاً إلى 64 بتاً على منصات 64 بت. هذا يوفّر الذاكرة ويُحسّن استخدام ذاكرة التخزين المؤقت خاصةً للتطبيقات ذات الكائنات الصغيرة الكثيرة.
توثيق ذو صلة