Rumah Pembangunan Apakah pengumpulan sampah (gc)? - definisi dari techopedia

Apakah pengumpulan sampah (gc)? - definisi dari techopedia

Isi kandungan:

Anonim

Definisi - Apa maksud Sampah Sampah (GC)?

Pengumpulan sampah (GC) adalah pendekatan yang dinamik untuk pengurusan memori automatik dan peruntukan timbunan yang memproses dan mengenal pasti blok ingatan yang telah mati dan menata semula stok untuk digunakan semula. Tujuan utama pengumpulan sampah adalah untuk mengurangkan kebocoran memori.

Pelaksanaan GC memerlukan tiga pendekatan utama, seperti berikut:

  • Mark-and-sweep - Dalam proses apabila kehabisan memori, GC menempatkan semua memori yang boleh diakses dan kemudian mencatat memori yang tersedia.
  • Pengiraan rujuk - Objek yang diperuntukkan mengandungi kiraan rujukan nombor rujukan. Apabila kiraan memori adalah sifar, objek itu adalah sampah dan kemudian dimusnahkan. Memori yang dibebaskan kembali ke timbunan memori.
  • Salin koleksi - Terdapat dua partition memori. Sekiranya partition pertama penuh, GC menempatkan semua struktur data yang boleh diakses dan menyalinnya ke partition kedua, memampatkan memori selepas proses GC dan membolehkan memori bebas berterusan.

Beberapa bahasa pengaturcaraan dan platform dengan GC terbina dalam (contohnya, Java, Lisp, C # dan .Net) mengawal kebocoran memori sendiri, membolehkan pengaturcaraan yang lebih cekap.

Techopedia menerangkan Pengumpulan Sampah (GC)

Pendekatan dinamik kutipan sampah untuk peruntukkan tumpukan automatik menangani kesilapan biasa dan mahal yang sering mengakibatkan kecacatan program dunia nyata apabila tidak dapat dikesan.

Kerana mereka sukar untuk mengenal pasti dan membaiki, kesilapan peruntukan adalah mahal. Oleh itu, pengumpulan sampah dianggap oleh ramai untuk menjadi ciri bahasa penting yang menjadikan kerja programmer lebih mudah dengan pengurusan peruntukkan heap manual yang lebih rendah. Walau bagaimanapun, GC tidak sempurna, dan kelemahan berikut harus dipertimbangkan:

  • Apabila membebaskan memori, GC menggunakan sumber pengkomputeran.
  • Proses GC tidak dapat diprediksi, mengakibatkan penangguhan sesi tersebar.
  • Apabila rujukan objek yang tidak digunakan tidak dilupuskan secara manual, GC menyebabkan kebocoran memori logik.
  • GC tidak selalu tahu kapan diproses dalam persekitaran memori maya komputer desktop moden.
  • Proses GC berinteraksi dengan buruk dengan sistem cache dan memori maya, mengakibatkan kesukaran penalaan prestasi.
Takrif ini ditulis dalam konteks Pengaturcaraan Umum
Apakah pengumpulan sampah (gc)? - definisi dari techopedia