رؤوس الكائنات المضغوطة في جافا تصبح ميزة منتج

2025-05-22

يرفع JEP 519 ميزة "رؤوس الكائنات المضغوطة" التجريبية إلى ميزة منتج كاملة في جافا. تم تقديمها لأول مرة في JDK 24 لتحسين تخطيط رأس الكائن وتحسين الأداء، وقد خضعت لاختبارات مكثفة في Oracle و Amazon، مما أثبت ثباتها ومكاسبها في الأداء. لم تعد هناك حاجة إلى علم `-XX:+UnlockExperimentalVMOptions` للتنشيط. هناك خطط للتوسعات المستقبلية لمزيد من بتات رأس الكائن، مع توفير حلول من مشاريع Valhalla و Lilliput.

اقرأ المزيد
التطوير

تشغيل أسرع لـ Java مع تحسينات ملف تعريف ذاكرة التخزين المؤقت AOT

2025-05-11

يُقلل هذا التحسين بشكل كبير من وقت الإحماء لتطبيقات Java من خلال جمع ملفات تعريف تنفيذ الطريقة أثناء تشغيل تدريب التطبيق وتخزينها في ذاكرة التخزين المؤقت AOT. عند بدء التشغيل في الإنتاج، يمكن لـ JIT compiler استخدام هذه الملفات على الفور لإنشاء رمز أصلي، مما يلغي انتظار جمع الملفات الشخصية ويؤدي إلى بدء تشغيل وأداء ذروة أسرع. هذه التقنية لا تتطلب أي تغييرات في التعليمات البرمجية ومتوافقة مع أوامر إنشاء ذاكرة التخزين المؤقت AOT الحالية. تُظهر التجارب انخفاضًا بنسبة 19% في وقت الإحماء لبرنامج مثال بسيط.

اقرأ المزيد

Java ستعزز ثبات الحقول النهائية

2025-03-31

لتعزيز أمان وأداء برامج Java، يخطط JDK لتعزيز ثبات الحقول النهائية. حاليًا، يمكن للانعكاس العميق تعديل الحقول النهائية، وهذا يتعارض مع الغرض الأصلي من الكلمة المفتاحية final ويحد من تحسين JVM. ستمنع الإصدارات المستقبلية تعديل الحقول النهائية بواسطة الانعكاس العميق افتراضيًا، وستصدر تحذيرات. يمكن للمطورين تمكين تعديل الحقول النهائية بشكل انتقائي باستخدام خيار `--enable-final-field-mutation`، ولكن يُنصح بتجنب ذلك قدر الإمكان. تهدف هذه الخطوة إلى تحسين ميزة "الأمان افتراضيًا" في Java والحفاظ على الاتساق مع تصميم فئات السجلات.

اقرأ المزيد

JEP 483 من Java: تحميل وربط الفئات مسبقًا يعزز وقت بدء التشغيل

2024-12-22

يعزز JEP 483 بشكل كبير من وقت بدء تشغيل تطبيقات Java من خلال تحميل وربط فئات التطبيق مسبقًا عند بدء تشغيل JVM HotSpot. يتم تحقيق ذلك من خلال مراقبة تشغيل تطبيق واحد، وتخزين الأشكال المحملة والمربوطة لجميع الفئات في ذاكرة تخزين مؤقت لإعادة استخدامها في التشغيلات اللاحقة. لا تتطلب هذه الميزة أي تغييرات في التعليمات البرمجية، وتوفر تحسينات كبيرة في السرعة لتطبيقات الخادم الكبيرة، حيث يُظهر Spring PetClinic انخفاضًا بنسبة 42% في وقت بدء التشغيل. على الرغم من أنه عملية من خطوتين حاليًا، إلا أن الإصدارات المستقبلية ستُحسّن عملية إنشاء ذاكرة التخزين المؤقت إلى خطوة واحدة، وستوفر تكوينًا أكثر مرونة لتشغيل التدريب.

اقرأ المزيد
التطوير