بيت تطوير ما هو جمع القمامة (جي سي)؟ - تعريف من techopedia

ما هو جمع القمامة (جي سي)؟ - تعريف من techopedia

جدول المحتويات:

Anonim

التعريف - ماذا تعني مجموعة Garbage (GC)؟

يعد تجميع البيانات المهملة (GC) طريقة ديناميكية لإدارة الذاكرة التلقائية وتخصيص الكومة الذي يعالج ويحدد كتل الذاكرة الميتة ويعيد تخصيص التخزين لإعادة استخدامه. الغرض الأساسي من جمع البيانات المهملة هو تقليل تسرب الذاكرة.

يتطلب تنفيذ GC ثلاثة مناهج أساسية ، كما يلي:

  • وضع علامة على - عملية المسح - في حالة نفاد الذاكرة ، يحدد موقع GC كل الذاكرة التي يمكن الوصول إليها ثم يستعيد الذاكرة المتوفرة.
  • مرجع العد - تحتوي الكائنات المخصصة على عدد مرجع رقم المرجع. عندما يكون عدد الذاكرة صفرًا ، يكون الكائن هو القمامة ويتم إتلافه بعد ذلك. تعود الذاكرة المحررة إلى كومة الذاكرة.
  • مجموعة النسخ - يوجد قسمان للذاكرة. إذا كان القسم الأول ممتلئًا ، فسيحدد GC جميع هياكل البيانات التي يمكن الوصول إليها ونسخها إلى القسم الثاني ، وضغط الذاكرة بعد عملية GC والسماح بذاكرة خالية مستمرة.

بعض لغات البرمجة والأنظمة الأساسية ذات GC المضمنة (مثل Java و Lisp و C # و .Net) تتسرب من الذاكرة ، مما يتيح برمجة أكثر فاعلية.

تيكوبيديا تشرح جمع القمامة (GC)

يعالج النهج الديناميكي الخاص بجمع البيانات المهملة في تخصيص الكومة تلقائيًا الأخطاء الشائعة والمكلفة التي تؤدي غالبًا إلى حدوث عيوب في برنامج العالم الحقيقي عند عدم اكتشافها.

نظرًا لأنه يصعب تحديدها وإصلاحها ، فإن أخطاء التخصيص مكلفة. وبالتالي ، يعتبر الكثيرون أن جمع البيانات المهملة ميزة لغوية أساسية تجعل مهمة المبرمج أسهل مع إدارة تخصيص الكومة اليدوية المنخفضة. ومع ذلك ، فإن GC ليست مثالية ، وينبغي النظر في العيوب التالية:

  • عند تحرير الذاكرة ، يستهلك GC موارد الحوسبة.
  • لا يمكن التنبؤ بعملية GC ، مما يؤدي إلى تأخير جلسة متناثرة.
  • عندما لا يتم التخلص يدويًا من مراجع الكائنات غير المستخدمة ، يتسبب GC في تسرب الذاكرة المنطقية.
  • لا يعرف GC دائمًا متى يتم المعالجة داخل بيئات الذاكرة الظاهرية لأجهزة الكمبيوتر المكتبية الحديثة.
  • تتفاعل عملية GC بشكل سيء مع ذاكرة التخزين المؤقت وأنظمة الذاكرة الافتراضية ، مما يؤدي إلى صعوبات في ضبط الأداء.
تم كتابة هذا التعريف في سياق البرمجة العامة
ما هو جمع القمامة (جي سي)؟ - تعريف من techopedia