Stack vs Heap: الفرق والمقارنة

Java أو Japan Anti-Vivisection Association هي لغة برمجة عالية المستوى تستخدم للأغراض العامة ولغة البرمجة عبر الأنظمة الأساسية.

في Java ، تتم إدارة إدارة الذاكرة تلقائيًا. يقسم ذاكرته إلى ذاكرة مكدس وذاكرة كومة.

الوجبات السريعة الرئيسية

  1. يتم استخدام Stack لتخصيص الذاكرة الثابتة ، بينما يستخدم Heap لتخصيص الذاكرة الديناميكية.
  2. ذاكرة المكدس محدودة ، بينما ذاكرة الكومة ليست كذلك.
  3. تعد ذاكرة المكدس أسرع في الوصول إليها من ذاكرة الكومة.

كومة مقابل كومة 

الفرق بين ذاكرة المكدس وذاكرة الكومة هو أن بنية بيانات المكدس خطية، بينما بنية بيانات الكومة هرمية. يتم تخصيص ذاكرة المكدس في كتلة متجاورة. ومن ناحية أخرى، يتم تخصيص ذاكرة الكومة بترتيب عشوائي. لا يمكن تغيير حجم متغيرات المكدس، بينما يمكن تغيير حجم متغيرات الكومة. 

كومة مقابل كومة

يتم تخصيص ذاكرة المكدس في كتلة الذاكرة المتجاورة. لا يهتم المبرمجون بالذاكرة لتخصيص متغيرات المكدس ونقلها.

بالنسبة للمتغيرات العامة، تعمل الكومة كمخزن مؤقت يتم فيه حفظ لغات البرمجة. بشكل افتراضي، في مساحة ذاكرة الكومة، يتم تخزين كافة متغيرات الكرة الأرضية.

جدول المقارنة

معلمات المقارنةكومةكومة
ترجمةفي الذاكرة ، هو هيكل خطي حيث يتم تخزين المعلومات بالتسلسل.في الذاكرة ، يوجد تخصيص ديناميكي حيث يتم تخزين جميع البيانات بشكل عشوائي.
تخصيص الذاكرةفي كتلة مستمرةبترتيب عشوائي
سرعةأسرعأبطأ
هيكل البياناتخطيغير خطي (هرمي)
المقاسثابتمن الممكن تغيير الحجم
قم بتثبيت هذا الآن لتتذكره لاحقًا
يعلق هذا

ما هو ستاك؟ 

في أجهزة الكمبيوتر المعاصرة، يحتوي كل خيط على منطقة من الذاكرة محجوزة تسمى المكدس الخاص به. عند تنفيذ الدالة، قد يتم إضافة بعض بيانات الحالة المحلية الخاصة بها إلى أعلى المكدس.

اقرأ أيضا:  Dynatrace مقابل Splunk: الفرق والمقارنة

المكدس مفيد لتخزين المتغيرات المحلية للوظائف النشطة حاليًا. يفضل المبرمجون المكدس لتخزين البيانات المحلية ذات الطول المتغير.

تسمح آليات الذاكرة المكدسة لذاكرة النظام بالعمل كمخزن مؤقت للبيانات وتتصرف مثل المخزن المؤقت لأول من يخرج أخيرًا.  

تتمثل بعض مزايا المكدس في التنظيف التلقائي للكائن، وعدم إمكانية إتلاف الذاكرة بسهولة، ودور كبير في تخصيص الذاكرة وإلغاء تخصيصها.

ما هو الكومة؟ 

عندما يقوم المبرمجون بتنفيذ التعليمات، يتم تخصيص ذاكرة الكومة فقط. يُطلق على هذا النوع من الذاكرة اسم الكومة نظرًا لتوفر مساحة ذاكرة في الكومة للتخصيص وإلغاء التخصيص.

يمكن تقسيم تخصيص ذاكرة الكومة إلى:  

  1. الجيل الشاب - في هذه المنطقة من الذاكرة، تخصص جميع الكائنات أو البيانات الجديدة المساحة. في حالة امتلاء الذاكرة، يساعد جمع البيانات المهملة على تخزين بقية البيانات.  
  2. الجيل القديم أو الثابت - في هذه المنطقة، يتم تخزين كائنات البيانات القديمة التي لا يتم استخدامها أو لا يتم استخدامها على الإطلاق.  
  3. التوليد الدائم- تتكون هذه المنطقة من بيانات تعريف JVM لطرق التطبيق وفئات وقت التشغيل.  

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

الاختلافات الرئيسية بين Stack و Heap 

  1. تعد ذاكرة المكدس مفيدة في تخزين استدعاءات الوظائف والمتغيرات المحلية. لكن ذاكرة الكومة مفيدة لتخزين الكائنات في Java.
  2. في الأكوام، تكون المتغيرات المخزنة مرئية لسلسلة المالك، أو في Java، فهي نوع من الذاكرة الخاصة. على الجانب الآخر، في كائنات الكومة، التي تم إنشاؤها مرئية لجميع سلاسل الرسائل أو بين جميع سلاسل الرسائل، تتم مشاركة ذاكرة الكومة. 
اقرأ أيضا:  العرض مقابل العرض الفعلي: الفرق والمقارنة
الفرق بين المكدس وكومة
مراجع حسابات
  1. https://arxiv.org/abs/1505.08075
  2. https://dl.acm.org/doi/abs/10.1145/1375634.1375655

النقطة 1
طلب واحد؟

لقد بذلت الكثير من الجهد في كتابة منشور المدونة هذا لتقديم قيمة لك. سيكون مفيدًا جدًا بالنسبة لي ، إذا كنت تفكر في مشاركته على وسائل التواصل الاجتماعي أو مع أصدقائك / عائلتك. المشاركة هي ♥ ️

سانديب بهانداري
سانديب بهانداري

سانديب بهانداري حاصل على بكالوريوس هندسة في الحاسبات من جامعة ثابار (2006). لديه 20 عامًا من الخبرة في مجال التكنولوجيا. لديه اهتمام كبير في المجالات التقنية المختلفة ، بما في ذلك أنظمة قواعد البيانات وشبكات الكمبيوتر والبرمجة. يمكنك قراءة المزيد عنه على موقعه صفحة بيو.

18 تعليقات

  1. أنا آسف، لكن لهجة هذا النص تبدو متعالية بعض الشيء. يمكن أن يكون أفضل قليلاً في هذا الجانب.

  2. الوصف معقد للغاية ويصعب فهمه. أفضّل شرحًا أكثر تفصيلاً للمفاهيم الأساسية.

اترك تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول المشار إليها إلزامية *

هل تريد حفظ هذه المقالة لوقت لاحق؟ انقر فوق القلب الموجود في الزاوية اليمنى السفلية للحفظ في مربع المقالات الخاصة بك!