ما هو منظف الذاكرة في لغة البرمجة جافا Garbage Collector

اقرأ في هذا المقال


ما هو منظف الذاكرة او جامع القمامة في لغة البرمجة جافا Garbage Collector؟

تمتلك لغات البرمجة القديمة أوامر خاصة لإزالة البيانات من الذاكرة العشوائية (RAM)، ويكون المبرمج هو المسؤول عن إزالة البيانات التي لن يتم استخدامها مستقبلاً، ولكن غالباً ما تكون هذه العملية متكررة فيتم اهمالها من قبل المبرمج  وينتهي الأمر بإمتلاء الذاكرة، لذلك توفر معظم لغات البرمجة الحديثة طرقاً لإزالة البيانات التي لن يستخدمها المبرمج بشكل تلقائي و بدون تدخل المبرمج، ومن بين هذه اللغات لغة البرمجة جافا؛ حيث توفر جافا منظف الذاكرة أو جامع القمامة (Garbage Collector) والذي يكون مسؤولاً عن القيام بهذه العملية.

ما هي آلية عمل جامع القمامة في لغة البرمجة جافا؟

جامع القمامة (Garbage Collector) هو عبارة عن برنامج موجود ضمن آلة جافا الافتراضية (JVM) يقوم بتنظيف الذاكرة (Heap) وهي عبارة عن مساحة يتم تخزين الكائنات التي يتم انشاؤها في البرنامج.

وعند تشغيل آلة جافا الافتراضية (JVM) يتم تحديد مساحة الذاكرة التي من الممكن استخدامها واستغلالها في المستقبل، لكن عندما تقترب الذاكرة من الامتلاء فإنه يتم تفعيل جامع القمامة ليرى إن كان يستطيع مسح الكائنات التي لن يتم استخدامها لاحقاً، ويستطيع جامع القمامة تمييز هذه الكائنات عندما لا يصبح أي (Thread) يمتلك مرجعاً (Reference) لذلك الكائن، وعندما يقرر جامع القمامة أنه سيقوم بحذف كائن معين من الذاكرة فأنه سيقوم بتنفيذ الدالة (finalize) على ذلك الكائن.

خطوات تشغيل جامع النفايات – Garbage Collector:

  • افتح شاشة سطر الأوامر (Command Line) عن الضغط على علامة ويندوز والحرف (R) في نفس الوقت و اكتب (cmd) ثم اضغط موافق (Enter).
  • انتقل إلى مجلد (bin) في بيئة لغة الجافا عن طريق الأمر (cd).
  • شغل آلة جافا الافتراضية (JVM) عن طريق تنفيذ الأمر (Jvisualvm).
  • انتظر قليلاً لاكتمال فتح شاشة آلة جافا الافتراضية ثم انتقل إلى (Plugins).
  • انتقل إلى شاشة (available plugins) ثم إختر جامع النفايات (visual GC) ثم اضغط على تثبيت (Install) أسفل الشاشة.
  • إضغط على التالي (next) ثم انتظر اكتمال التثبيت.
  • باكتمال التثبيت اضغط على إنهاء.
  • قم بالعودة إلى الشاشة الرئيسية لآلة جافا الافتراضية (JVM) ثم اختر جامع النفايات المرئي (Visual GC).

المصدر: What is Java Garbage Collection? How It Works, Best Practices, Tutorials, and MoreGarbage Collection in JavaJava Garbage CollectionGarbage Collection in Java – What is GC and How it Works in the JVM


شارك المقالة: