در علوم کامپیوتر (Computer Science)، جمعآوری زباله نوعی مدیریت حافظه (Memory) است. به طور خودکار اشیاء و نشانگرهای استفاده نشده را در حافظه پاک می کند و امکان استفاده مجدد از منابع را فراهم می کند. برخی از زبان برنامه نویسی (Programming Language) دارای جمع آوری زباله داخلی هستند، در حالی که برخی دیگر به تابع (Function) سفارشی برای مدیریت حافظه استفاده نشده نیاز دارند.
یک روش متداول جمع آوری زباله، شمارش مرجع نامیده می شود. این استراتژی به سادگی تعداد ارجاعات به هر شی ذخیره شده در حافظه را شمارش می کند. اگر یک شیء صفر مرجع داشته باشد، غیرضروری در نظر گرفته می شود و می تواند حذف (Delete) برای آزاد کردن فضای حافظه باشد. شمارش پیشرفته مرجع اشیایی را شناسایی می کند که فقط به یکدیگر ارجاع می دهند، که نشان می دهد اشیاء توسط والد استفاده نشده اند روند (Process).
جمع آوری زباله همچنین ممکن است در زمان کامپایل انجام شود، زمانی که برنامه کد منبع (Source Code) x> کامپایل (Compile) در یک برنامه اجرایی است. در این روش، کامپایلر (Compiler) تعیین می کند که پس از مدت زمان مشخصی به کدام منابع موجود در حافظه هرگز دسترسی نخواهند داشت. سپس میتواند دستورالعملهایی را برای توزیع خودکار آن منابع از حافظه اضافه کند. در حالی که این یک روش موثر برای حذف اشیاء استفاده نشده است، باید به صورت محافظه کارانه انجام شود تا از حذف منابع مورد نیاز برنامه (Program) جلوگیری شود.
جمع آوری زباله بخش مهمی از توسعه نرم افزار است زیرا نگه می دارد. برنامه ها از استفاده بیش از حد حافظه دسترسی تصادفی (RAM). علاوه بر کمک به اجرای کارآمدتر برنامهها، میتواند از حشره (Bug) جدی مانند نشت حافظه (Memory Leak) نیز جلوگیری کند که میتواند باعث از کار افتادن برنامه شود.
تعریف مجموعه زباله (Garbage Collection) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.
هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف مجموعه زباله (Garbage Collection) دارید یا میخواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.
آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.