سجل الآن

تسجيل دخول

فقدت كلمة المرور

فقدت كلمة المرور الخاصة بك؟ الرجاء إدخال عنوان البريد الإلكتروني الخاص بك. ستتلقى رابطا وستنشئ كلمة مرور جديدة عبر البريد الإلكتروني.

أضف مقالة جديدة

‎يجب تسجيل الدخول لتستطيع أضافة مقالة .

أضف سؤال جديد

يجب عليك تسجيل الدخول لطرح سؤال.

تسجيل دخول

سجل الآن

مرحبا بكم في Scholarsark.com! سوف تسجيلك تمنح لك الوصول إلى استخدام المزيد من الميزات من هذا المنبر. يمكنك طرح الأسئلة, تقديم مساهمات أو تقديم إجابات, عرض لمحات من المستخدمين الآخرين، وغيرها الكثير. سجل الان!

خوارزميات جمع القمامة

خوارزميات جمع القمامة

السعر: $49.99

أساسيات جامعي القمامة

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

لتجنب هذه القضايا, يتم تنفيذ معظم لغات البرمجة عالية المستوى الحديثة إدارة الذاكرة التلقائية. يمكنك تخصيص الكائنات يدويًا, ولكن لا تهتم بهم إلغاء التخصيص: برنامج خاص, جامع القمامة, يعرف كيف تلقائيا قم بإلغاء تخصيصها بشكل صحيح, واستصلاحها لإعادة استخدامها في المستقبل.

في ال أساسيات جامعي القمامة ندرس في الفصل جميع التقنيات والخوارزميات المختلفة المتعلقة بإدارة الذاكرة التلقائية, التي يتم استخدامها اليوم في الممارسة.

لمن هذه الفئة?

في البداية, إلى عن على المهندسين المترجمين.

في تنفيذ لغة البرمجة الخاصة بك, هناك فرصة عالية جدا سوف تحتاج إلى تطبيق جامع القمامة. حتى اللغات التي تم وضعها في البداية كـ "ذاكرة آمنة", مثل الصدأ, نفذت في نهاية المطاف العد المرجعي التلقائي (قوس) وهواة جمع العملات الأخرى.

أن أكرر: في معظم لغات البرمجة عالية المستوى الحديثة, وحدة جامع القمامة (أو مضاعف وحدات GC, كما هو الحال في جافا) إلى حد كبير مطلب اليوم.

ماذا لو لم أقم بتطبيق لغات البرمجة كل يوم?

إذا كنت كذلك ليس مهندس مترجم, ثم يمكن أن يظل الفصل ممتعًا بالنسبة لك. تنفيذ جامع القمامة أو مدير الذاكرة بشكل عام, هي جميلة مهمة هندسية متقدمة. إنها خدعة بسيطة: تأخذ بعض المشاريع المعقدة (مثل جامع القمامة, مترجم, مترجم, إلخ), وأثناء بنائه, انت تتعلم جميع هياكل البيانات والخوارزميات المختلفة. ثم عد إلى “البرمجة اليومية”, تحسينه كمهندس أفضل, مع المعرفة العامة القابلة للتحويل للأنظمة المعقدة.

هل أحتاج إلى C أو C ++ لهذا المشروع?

ليس صحيحا! بالطبع بكل تأكيد, من المحتمل أن تكون C و C ++ هي أفضل اللغات لمعالجة الذاكرة الخام وتتناسب جيدًا هنا, ولكن في الدورة التي ندرسها خوارزميات التصميم العامة والتركيز بشكل أساسي على الجوانب النظرية جامعي القمامة ومخصصات الذاكرة. هذا يعني أنه يمكنك تنفيذها بتنسيق أي لغة انت تريد. فمثلا, يمكنك تخصيص "ArrayBuffer" في JavaScript لملف كومة افتراضية, أو "bytearray" بالمثل في Python, الصدأ, إلخ.

تم وصف معظم الخوارزميات في الدورة التدريبية في الكود الزائف العام, حتى تتمكن من نقلها إلى أي لغة.

ما هو محدد في هذا الفصل?

أهم الأشياء في هذه المحاضرات:

  • موجزة ومباشرة في صلب الموضوع. كل محاضرة مكتفية ذاتيا, مختصرا, ويصف المعلومات المتعلقة مباشرة بالموضوع, عدم تشتيت الانتباه عن مواد أو محادثات غير ذات صلة.

  • عرض متحرك مدموج مع ملاحظات التحرير الحية. هذا يجعل فهم الموضوعات أسهل, ويوضح كيف (و متى في الوقت) هياكل الكائن متصلة. الشرائح الثابتة ببساطة لا تعمل مع محتوى معقد.

مواد القراءة

يوصى بالكتب التالية كمزيد من القراءة والأدب الإضافي لهذه الدورة:

  • دليل جمع القمامة: فن إدارة الذاكرة التلقائية بواسطة أنتوني هوسكينج, إليوت موس, وريتشارد جونز

  • كتيب تصميم المترجم: التحسينات وتوليد كود الآلة بواسطة Y.N. سريكانت, بريتي شانكار

عن arkadmin

‎إضافة تعليق