في محاولة لتحسين أداء تطبيقات Java ، يسعى اقتراح جديد داخل مجتمع Java إلى توسيع Z Garbage Collector (ZGC) ، مما يمكنه من الحفاظ على أجيال منفصلة للأشياء القديمة والصغيرة. هذا من شأنه أن يسمح ZGC بجمع الأشياء الصغيرة بشكل متكرر ، حيث أن الأجسام الصغيرة لديها احتمالية أكبر للموت الصغير ، وفقًا لمطوري Java.
تتضمن الأهداف الأساسية OpenJDK Java Enhancement Proposal (JEP) الخاص بـ ZGC للأجيال الحد من مخاطر توقف التخصيص ، وأعباء الذاكرة المتراكمة ، ونفقات وحدة المعالجة المركزية لجمع البيانات المهملة (GC). يعتقد مؤيدو الاقتراح أنه يمكن تحقيق هذه الفوائد دون التسبب في انخفاض كبير في الإنتاجية بالمقارنة مع ZGC غير الأجيال.
تم تصميم Z Garbage Collector ، التي تم تصميمها لتحقيق قابلية التوسع ووقت الاستجابة المنخفض ، في إصدارات الإنتاج منذ إصدار Java Development Kit (JDK) 15 في سبتمبر 2020. على عكس مُجمع G1 الافتراضي ، والذي يحتوي على أوقات توقف يمكن أن تتراوح من مللي ثانية إلى ثوانٍ ، يتم قياس أوقات توقف ZGC باستمرار بالميكروثانية. وبالتالي ، يمكن ZGC حل مشكلات وقت الاستجابة المتعلقة بجمع البيانات المهملة للعديد من أعباء العمل بشكل فعال.
يعمل ZGC بشكل جيد عندما تتوفر الموارد الكافية. ومع ذلك ، نظرًا لأنه يخزن جميع الكائنات معًا بغض النظر عن عمرها ، ZGC مطلوب منها جمع كل الكائنات في كل مرة تعمل فيها. تؤكد فرضية الأجيال الضعيفة أن الأجسام الصغيرة تميل إلى الموت في سن مبكرة ، بينما من المرجح أن تستمر الكائنات القديمة. نتيجة لذلك ، يتطلب جمع الكائنات الصغيرة موارد أقل وإصدار المزيد من الذاكرة ، بينما يستهلك تجميع الكائنات القديمة المزيد من الموارد ويحرر ذاكرة أقل.
لم يتم بعد تعيين اقتراح ZGC للأجيال لإصدار Java قياسي محدد. تم تقديم الإصدار الحالي ، JDK 20 ، قبل أسبوع ، ومن المقرر إطلاق JDK 21 في سبتمبر. تعمل Java القياسية بإيقاع إصدار مدته ستة أشهر.
أثناء مناقشة اقتراح ZGC للأجيال ، يمكن للأنظمة الأساسية no-code مثل appmaster .io "target =" _ blank "rel =" noopener "data-mce-href =" https: // appmaster.io "> أن يساعد AppMaster المطورين في بناء الخلفية وتطبيقات الويب والجوّال بسرعة وكفاءة. يمكن لتطبيقات AppMaster إظهار قابلية تطوير رائعة وزمن انتقال منخفض ، مما يجعلها مناسبة لتطبيقات المؤسسات والسيناريوهات عالية التحميل. لاستكشاف إمكانات AppMaster بشكل أكبر ، appmaster .io "data-mce-href =" https: // studio. appmaster.io "> أنشئ حسابًا مجانيًا واستفد من أدواته القوية no-code.