Isi kandungan:
Definisi - Apa maksud Pengumpul Sampah?
Pengumpul sampah adalah sekeping perisian yang menjalankan pengurusan memori secara automatik. Tugasnya adalah untuk membebaskan apa-apa ingatan yang tidak digunakan dan memastikan bahawa memori tidak dibebaskan ketika masih digunakan. Sesetengah bahasa seperti bahasa Jawa dan .NET mempunyai koleksi sampah automatik, manakala yang lain seperti C / C ++ memerlukan pengaturcara untuk menguruskan memori secara manual.
Techopedia menerangkan Pemungut Sampah
Pengumpulan sampah pertama kali diperkenalkan oleh pencipta Lisp John McCarthy untuk memudahkan pengurusan memori manual ketika bekerja dengan bahasa Lisp.
Tiga teknik utama yang digunakan oleh pengumpul sampah untuk melaksanakan pengurusan memori secara automatik adalah seperti berikut:
- Pengiraan rujuk - Rujukan kepada setiap objek dikira menggunakan pemboleh ubah balas. Apabila kaunter mencapai sifar, ia menandakan bahawa objek tidak lagi diperlukan dan dengan itu dikitar semula.
- Tandai dan sapu - Traversal rekursif bagi semua objek yang boleh dicapai dilakukan pada semua kawasan data, dan objek yang dapat dicapai ditandai. Objek-objek yang tidak ditanda itu kemudiannya dikitar semula.
- Berhenti dan menyalin - Tumpukan memori dibahagikan kepada dua bahagian: satu bahagian yang mengandungi objek dan seksyen kosong di mana objek dipindahkan (disalin) jika didapati ditanda. Objek yang tidak ditanda di bahagian pertama dikitar semula dengan mengosongkannya.
Apabila blok memori yang diberikan kepada penunjuk / objek telah dibebaskan, penunjuk / objek mesti ditetapkan semula kepada nilai nol; jika tidak, ia digantung, iaitu, menunjuk kepada blok ingatan yang tidak sah.
Pengumpulan sampah membantu mengurangkan bug dan risiko keselamatan yang disebabkan oleh penunjuk dan masalah kebocoran memori.
Kelemahan menggunakan pengumpul sampah termasuk overhead tambahan mengenai sumber dan prestasi. Menjalankan pengumpul sampah juga boleh melambatkan sistem dan seterusnya mengurangkan prestasinya.
