HeadlinesBriefing favicon HeadlinesBriefing.com

JDK 28: تحسينات فئات القيم (JEP 401)

Hacker News •
×

تناقش هذه المقالة ميزات المعاينة في JDK 28، وتحديداً JEP 401، وهو معلم رئيسي في Valhalla تم دمجه كميزة معاينة. تزيد فئات القيم من القدرة على توصيل دلالات البرنامج وفرص التحسين المتاحة لـ JVM. ومع ذلك، فإن الاعتقاد بأن الفئات العادية توفر حداً أدنى للأداء ولا يمكن لفئات القيم أن تنخفض عنه هو اعتقاد لا أساس له. قد يجبر برنامج حسن النية JVM على التحويل بين التمثيلات الممسوحة والمرجعية عند تفاعل الطرق، مما قد يلغي الفوائد. الميزة الرئيسية لتحسين فئات القيم هي التخلي عن الهوية، مما يسمح للوقت التشغيلي باختيار تمثيلات مناسبة، وتسوية القيم لتجنب مطاردات المؤشرات، وجعل المكونات قياسية في السجلات أو على المكدس. يصبح تحليل الهروب تافهاً دون متطلب الهوية. تمكن الثبات من التسوية؛ JEP 539، تهيئة الحقول الصارمة، يتيح لـ JVM الاعتماد على حقل نهائي يتم تهيئته قبل أن يصبح الكائن المحيط به قابلاً للملاحظة. نظراً لأن هذا الحقل لا يمكن تحديثه لاحقاً، قد تستخدم JVM تخطيطاً ممسوحاً غير ذري دون المخاطرة بتعيين ممزق. يجب أن تحافظ الحقول القابلة للتغيير على تعيين خالٍ من التمزق. إذا كان الحقل القابل للتغيير يحتوي على قيمة كبيرة جداً لتحديث ممسوح ذري، فيجب على JVM استخدام تخطيط مرجعي. ضع في اعتبارك سجل Four Longs مع 32 بايت من الحمولة؛ كبيرة جداً لتحديث ممسوح ذري. لكن في سجل Envelope، الحمولة هي حقل نهائي تم تهيئته بصرامة، مما يسمح بتخطيط ممسوح غير ذري. إذا كان Envelope قابلاً للتغيير، يعود التخطيط إلى REGULAR للحفاظ على الاتساق.