Estimated reading time: 1 minute
الذاكرة وأقسامها الأساسية
عند التحدث عن البرمجة وتنفيذ البرامج، يكون من الضروري فهم كيفية تخزين وتنظيم البيانات داخل الذاكرة، بشكل عام، تتكون الذاكرة (وبالتحديد ذاكرة الوصول العشوائي أو RAM) من عدة قطاعات أو أقسام، ومع ذلك، القسمين اللذان سنركز عليهما هما الـ Stack والـ Heap، هذه التقسيمة هي ترتيب منطقي يقوم بتحديده نظام التشغيل.
فهم الـ Stack
الـ Stack هو جزء من الذاكرة يُستخدم لتخزين البيانات التي حجمها ثابت، على سبيل المثال، إذا تعرفنا على متغير من النوع int، كما في “int age = 15” يمكننا بسهولة فهم كيف يتم تخزين هذا المتغير في الذاكرة، المتغير “age” من نوع int، وهو من الأنواع الأولية، مما يعني أن حجمه ثابت وبالتحديد 4 بايت في لغة الجافا.
استكشاف الـ Heap
على النقيض من الـ Stack، يستخدم الـ Heap لتخزين البيانات التي حجمها يتغير، فعلى سبيل المثال، إذا تعرفنا على متغير من النوع String، كما في “String name = ‘Ahmed’ “, فسيتم تخزينه في الـ Heap، وذلك لأن الـ String هو نوع بيانات غير أولي يمكن أن يتغير حجمه بناءً على القيمة المخزنة فيه.
الـ Stack والـ Heap بشكل متكامل
في العملية الحقيقية، الـ Stack والـ Heap يتعاونان معا، فعند تخزين نوع بيانات غير أولي مثل الـ String في الـ Heap، يتم إنشاء مؤشر في الـ Stack يشير إلى مكان تخزين البيانات في الـ Heap، هذا يمكن البرمجيات من تحديد موقع البيانات بفعالية عند الحاجة إليها.
وبهذا نكون قد تعرفنا على كيفية تخزين البيانات داخل الذاكرة وكيف يعمل كل من الـ Stack والـ Heap بشكل متكامل لتحقيق الأداء الأمثل للبرامج.