تعد مجموعة البيانات المهملة (GC) في Java مفهومًا أساسيًا يتيح إدارة الذاكرة تلقائيًا، مما يضمن تنظيف الكائنات التي لم تعد قيد الاستخدام لتحرير الذاكرة. وهذا فرق أساسي مقارنة بلغات مثل لغة C، حيث يكون المطورون مسؤولين عن إدارة الذاكرة يدويًا باستخدام أدوات التدمير.
لماذا جمع القمامة؟OutOfMemoryErrors. تعمل Java على تبسيط ذلك من خلال أتمتة عملية جمع البيانات المهملة، والتي تعمل في الخلفية وتتولى تنظيف الذاكرة. وهذا يخفف على المطورين عبء إدارة الذاكرة اليدوية، مما يقلل من احتمالية حدوث أخطاء تتعلق بمعالجة الذاكرة.
كيف يعمل جمع القمامة؟Daemon Thread. هذا هو مؤشر ترابط ذو أولوية منخفضة يتم تشغيله طوال مدة تنفيذ التطبيق. وظيفتها الرئيسية هي البحث عن الكائنات غير المرجعية في ذاكرة الكومة وتحرير المساحة عن طريق تدمير هذه الكائنات التي لا يمكن الوصول إليها.
لا يمكن التحكم بشكل صريح في جمع البيانات المهملة . بينما يمكنك طلب ذلك عن طريق استدعاء System.gc() أو Runtime.getRuntime().gc()، ليس هناك ما يضمن تشغيل أداة تجميع البيانات المهملة على الفور أو حتى على الإطلاق.
أفضل الممارسات لإدارة الذاكرةالمتغيرات المحلية: وهي قصيرة العمر. بمجرد خروجهم عن النطاق، يتم استعادة الذاكرة التي يشغلونها بواسطة جامع البيانات المهملة.
متغيرات المثيل: مرتبطة بمثيل الفئة، يتم جمع هذه المتغيرات عندما يخرج المثيل عن النطاق. ومع ذلك، إذا كانت لديهم مجموعات بيانات كبيرة، فمن الممارسات الجيدة إلغاء الإشارة إليها بشكل صريح عندما لا تعود هناك حاجة إليها.
المتغيرات الثابتة : لا يمكن أبدًا أن تخرج عن النطاق من تلقاء نفسها. إذا كانت تحتوي على كائنات كبيرة، فيجب عليك إلغاء الإشارة إليها بشكل صريح عندما لا تكون هناك حاجة إليها.
تسرب الذاكرة وOutOfMemoryErrors.
سيتناول المنشور القادم في هذه السلسلةتسربات الذاكرة ويحدد أفضل الممارسات لمنعها.
المشاركات ذات الصلة
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3