مؤتمر Java 2024: الإعلانات الرئيسية التي ستغير النظام البيئي
في نهاية أكتوبر 2024، اختتم في سان فرانسيسكو المؤتمر السنوي JavaOne - أحد الأحداث الرئيسية لجميع مطوري لغة Java. قدم المنظمون وقادة المجتمع سلسلة من الإعلانات المنتظرة التي ستحدد اتجاه تطوير المنصة في السنوات القادمة. جمعنا لكم أهمها.
Project Valhalla: أنواع القيم (value types) تصبح واقعًا
كان من أبرز الأحداث الإعلان عن الانتهاء الوشيك من Project Valhalla. تهدف هذه المبادرة إلى إدخال أنواع القيم (value types) والفئات البدائية. سيسمح هذا الابتكار للمطورين بإنشاء هياكل بيانات أكثر أداءً وصغرًا، مع تجنب النفقات العامة المرتبطة بالكائنات في الكومة (heap).
- Value classes - طريقة جديدة لتعريف الأنواع التي تتصرف مثل البدائيات ولكنها تمتلك دوال.
- Flat memory layout - سيتم تخزين البيانات في المكدس (stack) أو خطيًا في الكومة، مما يسرع الوصول ويقلل الحمل على جامع القمامة (garbage collector).
- التوافق - ستكون أنواع القيم متوافقة تمامًا مع الكود الموجود.
من المتوقع أن تظهر الإصدارات التجريبية الأولى (preview) في Java 24، بينما سيكون التنفيذ الكامل في أحد الإصدارات التالية.
Project Loom: الخيوط الافتراضية تصل إلى مستوى جديد
بعد الظهور الناجح لـ الخيوط الافتراضية (Virtual Threads) في Java 21، أعلن فريق التطوير عن توسيع Project Loom. تم تقديم أدوات جديدة للعمل مع تعدد الخيوط في المؤتمر:
- Scoped values - بديل لـ ThreadLocal لنقل السياق في الخيوط الافتراضية بنفقات عامة أقل.
- Structured Concurrency - واجهة برمجة تطبيقات (API) جديدة لإدارة مجموعات الخيوط، مما يبسط معالجة الأخطاء وإلغاء المهام.
- تصحيح أخطاء محسّن - في الإصدارات المستقبلية من JDK، ستظهر إمكانية تحليل الخيوط الافتراضية بالتفصيل دون فقدان الأداء.
بفضل هذه التغييرات، تصبح Java أكثر جاذبية لبناء الخدمات غير المتزامنة عالية التحميل.
Project Amber: تبسيط بناء الجملة
لم يخلُ الأمر من تحسينات اللغة. في إطار Project Amber، تم الإعلان عن إمكانيات نحوية جديدة ستجعل الكود أنظف وأكثر إيجازًا:
- Pattern Matching لـ switch - النسخة النهائية، وتشمل دعم البدائيات وشروط أكثر مرونة.
- Record Patterns - يمكن الآن تحليل السجلات (records) مباشرة في الشروط، وهو مفيد بشكل خاص عند العمل مع الهياكل المتداخلة.
- String Templates - تبسيط استيفاء السلاسل النصية دون الحاجة إلى تضمين مكتبات خارجية.
النظام البيئي: GraalVM و Spring Boot
بشكل منفصل، تجدر الإشارة إلى الإعلانات من Oracle والمجتمع:
- GraalVM 24.1 - دعم محسّن للصور الأصلية (native image) للخدمات المصغرة، مع تقليل وقت بدء التشغيل إلى عشرات الميلي ثانية.
- Spring Boot 4.0 - التفاصيل الأولى: الإطار ينتقل إلى Java 21+ كإصدار أدنى ويتكامل بشكل أعمق مع الخيوط الافتراضية.
- OpenJDK - دورة إصدار متسارعة: من المتوقع إصدار Java 24 في مارس 2025، و