JDK 25: تحسين أداء سلسلة النصوص من خلال ثبات قيمة هاش
يُحسّن JDK 25 بشكل ملحوظ أداء فئة String من خلال تمكين الطي الثابت لدالة String::hashCode. هذا يؤدي إلى زيادة كبيرة في السرعة، خاصة عند استخدام سلاسل النصوص كمفاتيح في الخرائط الثابتة التي لا تتغير، مثل السيناريو الذي يتم فيه الوصول إلى MethodHandles للدعوات الأصلية عبر مفاتيح String. تُظهر الاختبارات المعيارية تحسناً يفوق 8 أضعاف. تتحقق هذه التحسينات من خلال وضع علامة @Stable على الحقل الداخلي String.hash. يسمح هذا لـ JVM بتخزين قيمة هاش في ذاكرة التخزين المؤقت وإعادة استخدامها، مما يتجنب إعادة الحساب لقيم هاش غير صفريّة. على الرغم من أن قيمة هاش صفريّة قد تُعيق هذه التحسينات، إلا أنه من المتوقع إصلاح هذه المشكلة في الإصدارات المستقبلية.
اقرأ المزيد