Daftar Isi:
Definisi - Apa artinya Pengumpul Sampah?
Pengumpul sampah adalah perangkat lunak yang melakukan manajemen memori otomatis. Tugasnya adalah membebaskan memori yang tidak digunakan dan memastikan tidak ada memori yang dibebaskan saat masih digunakan. Beberapa bahasa seperti bahasa Java dan .NET menampilkan pengumpulan sampah otomatis, sedangkan yang lain seperti C / C ++ mengharuskan pemrogram untuk mengelola memori secara manual.
Techopedia menjelaskan Pengumpul Sampah
Pengumpulan sampah pertama kali diperkenalkan oleh pencipta Lisp John McCarthy untuk memudahkan manajemen memori manual ketika bekerja dengan bahasa Lisp.
Tiga teknik utama yang digunakan oleh pengumpul sampah untuk melakukan manajemen memori otomatis adalah sebagai berikut:
- Referensi penghitungan - Referensi ke setiap objek dihitung menggunakan variabel penghitung. Ketika penghitung mencapai nol, itu menunjukkan bahwa objek tidak lagi diperlukan dan dengan demikian didaur ulang.
- Tandai dan sapu - Traversal rekursif dari semua objek yang dapat dijangkau dilakukan pada semua wilayah data, dan objek yang dapat dijangkau ditandai. Objek yang tidak ditandai kemudian didaur ulang.
- Berhenti dan salin - Tumpukan memori dibagi menjadi dua bagian: bagian yang berisi objek dan bagian kosong tempat objek ditransfer (disalin) jika ditemukan ditandai. Objek yang tidak ditandai di bagian pertama didaur ulang dengan mengosongkannya.
Ketika sebuah blok memori yang ditugaskan untuk sebuah pointer / objek telah dibebaskan, pointer / objek harus diatur ulang ke nilai nol; jika tidak, itu menjuntai, yaitu menunjuk ke blok memori yang tidak valid.
Pengumpulan sampah membantu mengurangi bug dan risiko keamanan yang disebabkan oleh menggantung pointer dan masalah kebocoran memori.
Kerugian menggunakan pengumpul sampah termasuk overhead tambahan pada sumber daya dan kinerja. Menjalankan pemulung juga dapat memperlambat sistem dan karenanya menurunkan kinerjanya.