# هناك نوعان من الذاكرة في جافا. يطلق عليهم المكدس والكومة على التوالي.
المكدس هو مساحة ذاكرة البرنامج، لذلك يتم تخزين جميع الأنواع الأساسية ومراجع الكائنات في المكدس.
الكومة هي المكان الذي يقوم فيه جهاز Java الظاهري بتخزين الكائنات، وهي ذاكرة ضخمة. عندما تقوم بإنشاء كائن، يقوم جهاز Java الظاهري بوضع الكائن في الكومة وعنوان الكائن الذي تم إنشاؤه في المكدس.
لذلك، يتم تخزين المراجع إلى الأنواع والكائنات الأساسية في المكدس؛
# آلية جمع البيانات المهملة في جافا
عندما تقوم بإنشاء كائن جديد، تقوم Java بتخصيص الذاكرة اللازمة. عند الانتهاء من استخدام كائن ما، يقوم مجمع البيانات المهملة في Java باستعادة الذاكرة لك.
تعمل عملية جمع البيانات المهملة في الخلفية على شكل سلاسل رسائل، للبحث عن الكائنات التي لا تحتوي على مراجع مفيدة. وبمجرد العثور عليها، يتم تدمير الكائنات واستعادة الذاكرة.
يتم تنفيذ جمع البيانات المهملة بين أجهزة Java الافتراضية، وعادة ما يكون لها نفس الخطوات. أولا، يحصل جامع البيانات المهملة على لقطة من سلاسل الرسائل قيد التشغيل وجميع الفئات المحملة.
ثم يتم وضع علامة على كافة الكائنات المتضمنة في مؤشر الترابط على أنها مستخدمة مؤخرًا، وعندما يتم وضع علامة على كافة الكائنات التي قد تكون متضمنة، يتم تجاهل الكائنات غير المميزة المتبقية.
من أجل مساعدة الجهاز الظاهري، من الممارسات الجيدة إزالة بعض الكائنات التي لم تعد هناك حاجة إليها بشكل استباقي، ويمكن تحقيق ذلك عن طريق تعيين المرجع إلى قيمة خالية.
على سبيل المثال:
النص t = اختبار جديد ()؛
t.someAction();
// تم كل شيء
ر = فارغة؛