جامع النفايات أولاً

خوارزمية Garbage-First ( G1 ) هي خوارزمية لجمع البيانات المهملة تم تقديمها في آلة جافا الافتراضية (JVM) من Oracle HotSpot 6 Update 14، وأصبحت مدعومة بدءًا من 7 Update 4. كان من المخطط لها أن تحل محل جامع المسح المتزامن (CMS) في JVM 7، وتم جعلها الخوارزمية الافتراضية في جافا 9. [ 1 ]

جامع القمامة

جامع البيانات المهملة ذو الأولوية (G1) هو جامع بيانات مهملة مصمم للخوادم ، ويستهدف المعالجات المتعددة ذات الذاكرة الكبيرة ، ويحقق هدفًا زمنيًا شبه حقيقي باحتمالية عالية، مع تحقيق إنتاجية عالية . [ 2 ] يجمع G1 البيانات المهملة بشكل تفضيلي من المناطق التي تحتوي على أقل قدر من البيانات النشطة، أو ما يُعرف بـ "الأولوية للبيانات المهملة". [ 3 ] يُعد G1 البديل طويل الأمد لـ CMS. تُنفذ عمليات الذاكرة الكاملة، مثل وضع العلامات العامة، بالتزامن مع سلاسل التطبيق ، لمنع حدوث انقطاعات تتناسب مع حجم الذاكرة أو البيانات النشطة. يوفر وضع العلامات المتزامن اكتمال عملية الجمع، ويحدد المناطق الجاهزة للاستعادة من خلال إخلاء البيانات المضغوطة. يُنفذ هذا الإخلاء بالتوازي على المعالجات المتعددة، لتقليل أوقات التوقف وزيادة الإنتاجية.

تم تقديم G1 لأول مرة كخيار تجريبي في Java SE 6 Update 14، [ 4 ] حيث يمكن تفعيله باستخدام معلَمَتي سطر الأوامر التاليتين: -XX:+UnlockExperimentalVMOptionsومع -XX:+UseG1GCJDK 7، كان من المخطط أن يحل G1 محل CMS في Hotspot JVM. يوجد فرقان رئيسيان بين CMS وG1. أولهما أن G1 جامع قمامة مضغوط . [ 5 ] يقوم G1 بالضغط بشكل كافٍ لتجنب استخدام قوائم الذاكرة الحرة الدقيقة للتخصيص، مما يبسط أجزاءً من الجامع بشكل كبير ويقضي على معظم مشكلات التجزئة المحتملة . بالإضافة إلى الضغط، يوفر G1 فترات توقف أكثر قابلية للتنبؤ لجمع القمامة مقارنةً بجامع CMS، ويسمح للمستخدمين بتحديد أهداف التوقف التي يرغبون بها.

في جافا 9، تم اعتماد G1 كجامع قمامة افتراضي، [ 6 ] [ 1 ] على الرغم من اقتراح جوجل لنظام إدارة المحتوى (CMS) المعروف كمعيار، مدعيةً أن نظام إدارة المحتوى المعدل الذي تستخدمه يتفوق على G1. [ 7 ] ومنذ ذلك الحين، حسّنت أوراكل بشكل كبير من إنتاجية G1 وزمن استجابته واستهلاكه للذاكرة . [ 8 ]

يتطلب السلوك المضمون في الوقت الحقيقي حتى مع جمع البيانات المهملة جامع بيانات مهملة في الوقت الحقيقي مثل تلك التي تأتي مع Java RTS من Sun [ 9 ] أو WebSphere RT من IBM . [ 10 ]

انظر أيضاً

مراجع

  1. 1 2 "JEP 248: اجعل G1 جامع البيانات المهملة الافتراضي" . openjdk.java.net . تم الاطلاع عليه بتاريخ 2019-12-09 .
  2. ديتليفز، ديفيد؛ فلود، كريستين؛ هيلر، ستيف؛ برينتيزيس، توني (2004). "جمع البيانات المهملة بترتيب أولي". وقائع الندوة الدولية الرابعة حول إدارة الذاكرة . الصفحات 37-48 . CiteSeerX 10.1.1.63.6386 . doi : 10.1145/1029873.1029879 . ISBN   1581139454. S2CID 3330886 . 
  3. "الجزء 1: مقدمة إلى جامع القمامة G1" . www.redhat.com .
  4. "G1: جامع القمامة الأول في جافا" . دكتور دوبس .
  5. "جامع القمامة أولاً" . www.fasterj.com .
  6. "لماذا يُعد G1 جامع البيانات المهملة الافتراضي في Java 9؟ "
  7. "جامع البيانات المهملة الجديد في جافا 9: ما الذي يتغير؟ وما الذي يبقى؟ - JAXenter" . jaxenter.com. 26 يونيو 2015.
  8. يوهانسون، ستيفان (11 أكتوبر 2021). "G1: إلى ما لا نهاية وما بعدها" . inside.java .
  9. http://www.oracle.com/technetwork/articles/javase/index-138577.html مقدمة في تقنية جافا في الوقت الحقيقي: الجزء 2، جمع البيانات المهملة ونظام جافا في الوقت الحقيقي من صن (Java RTS)
  10. http://www.ibm.com/developerworks/java/library/j-rtj4/index.html?S_TACT=105AGX02&S_CMP=EDU جمع البيانات المهملة في الوقت الفعلي