Perbezaan Antara Pemungut Sampah dan Pemusnah

Isi kandungan:

Perbezaan Antara Pemungut Sampah dan Pemusnah
Perbezaan Antara Pemungut Sampah dan Pemusnah

Video: Perbezaan Antara Pemungut Sampah dan Pemusnah

Video: Perbezaan Antara Pemungut Sampah dan Pemusnah
Video: Tanda-tanda Rumah Terkena Sihir - Jenis-jenis Siihir dan Cara Menangkalnya 2024, Julai
Anonim

Perbezaan Utama – Pengumpul Sampah vs Pemusnah

Kebanyakan bahasa pengaturcaraan menyokong Pengaturcaraan Berorientasikan Objek. Ia adalah metodologi untuk membina program atau perisian menggunakan objek. Objek dicipta menggunakan kelas, jadi ia adalah contoh kelas. Kelas memberikan penerangan tentang objek yang harus terdiri daripada. Apabila mencipta objek, memori diperuntukkan untuk objek. Memori yang diperuntukkan harus dikeluarkan pada penghujung pelaksanaan program untuk menggunakan semula memori tersebut untuk beberapa objek lain. Bahasa pengaturcaraan seperti Java dan C. NET menggunakan pengumpul sampah untuk pengurusan memori manakala bahasa seperti C dan C++ memerlukan pengaturcara mengendalikan pengurusan memori. Jumlah ingatan yang diperlukan harus diperuntukkan, dan pada akhir pelaksanaan, ingatan harus dilepaskan. Pengumpul dan pemusnah sampah digunakan untuk melepaskan ingatan. Perbezaan utama antara pengumpul sampah dan pemusnah ialah pengumpul sampah ialah perisian yang melaksanakan pengurusan memori automatik manakala pemusnah ialah kaedah khas yang dipanggil oleh pengumpul sampah semasa pemusnahan objek.

Apakah itu Pemungut Sampah?

Sesetengah bahasa pengaturcaraan telah mengurus persekitaran kod. Dalam bahasa pengaturcaraan Java dan C, pengurusan memori automatik dilakukan. Pengaturcara tidak perlu mengosongkan memori yang digunakan oleh objek. Lebih mudah bagi mereka untuk membangunkan sistem yang kompleks kerana pengurusan memori dilakukan secara automatik. Dalam bahasa pengaturcaraan seperti C, C++, dan Objektif C, atur cara harus melepaskan memori objek kembali ke sistem. Bahasa seperti Java dan C boleh mengetahui objek yang tidak lagi digunakan. Selepas itu, mereka melepaskan memori yang diperuntukkan untuk objek tersebut kembali ke sistem.

Dalam bahasa pengaturcaraan C dan Java, jika terdapat kelas yang dipanggil Student, maka objek boleh dibuat menggunakan Student s=new Student (); 'Baharu' digunakan untuk membuat contoh kelas Pelajar. Ia memperuntukkan memori dalam sistem. 's' merujuk kepada blok memori yang diperuntukkan untuk objek itu. Persekitaran bahasa mengenal pasti sama ada objek sedang digunakan atau tidak. Jika ia tidak digunakan lagi, maka memori akan dikeluarkan dan boleh digunakan kemudian.

Perbezaan Antara Pemungut Sampah dan Pemusnah
Perbezaan Antara Pemungut Sampah dan Pemusnah

Rajah 01: Pengumpul dan Pemusnah Sampah

Apabila menjalankan program, blok memori diperuntukkan daripada kumpulan memori sistem. Kemudian program melaksanakan tugas menggunakan memori itu. Apabila pelaksanaan program tamat, pemungut sampah memikirkan sama ada blok memori yang diperuntukkan untuk program itu penting atau tidak. Jika ia tidak diperlukan, blok memori tersebut dikembalikan kepada sistem. Jadi, pengumpul sampah boleh menjejaki objek yang dicipta dalam program. Blok memori yang tidak lagi diperlukan dihantar semula ke kumpulan memori sistem. Kelebihan utama proses ini adalah untuk mengesahkan bahawa pengaturcara tidak perlu menumpukan perhatian pada deallocation memori. Ia mengimbangi prestasi dan penggunaan memori.

Apakah itu Pemusnah?

Pemusnah ialah fungsi ahli khas kelas. Ia dipanggil apabila objek keluar dari skop. Objek boleh dimusnahkan apabila fungsi tamat atau pada akhir pelaksanaan program. Pemusnah mempunyai nama yang sama dengan nama kelas. Pembina digunakan untuk mencipta objek. Ia boleh menerima parameter. Pembina juga boleh mempunyai nilai pulangan. Tetapi dalam Pemusnah, tidak ada jenis pemulangan atau parameter penerimaan. Satu kelas hanya boleh terdiri daripada satu pemusnah. Pemusnah dirujuk menggunakan tanda tilde. Jika nama kelas ialah Pelajar, maka pemusnahnya ialah ~Pelajar () {}.

Pemungut sampah mencari objek yang tidak diperlukan lagi. Ia memastikan bahawa objek yang tidak lagi digunakan oleh program harus dimusnahkan. Ia memanggil pemusnah untuk melepaskan memori dan mengagihkan sumber. Pemusnah berguna untuk melepaskan memori, menutup fail, melepaskan sumber rangkaian dan untuk menutup sambungan pangkalan data. Dalam kebanyakan bahasa pengaturcaraan, tidak perlu menulis pemusnah kerana pengumpul sampah memanggil pembina lalai sendiri. Jika pengaturcara telah melakukan sebarang peruntukan memori dinamik menggunakan penunjuk dalam bahasa seperti C++, maka dia harus menulis pemusnah untuk melepaskan memori sebelum objek dimusnahkan.

Apakah Persamaan Antara Pemungut Sampah dan Pemusnah?

Kedua-dua Pengumpul Sampah dan Pemusnah digunakan untuk melepaskan memori yang tidak lagi diperlukan untuk atur cara

Apakah Perbezaan Antara Pemungut Sampah dan Pemusnah?

Pengumpul Sampah lwn Pemusnah

Pengumpul sampah ialah perisian yang melaksanakan pengurusan memori automatik. Pemusnah ialah kaedah khas yang dipanggil oleh pemungut sampah semasa pemusnahan objek.
Jenis
Pengumpul sampah ialah perisian. Pemusnah ialah kaedah.

Ringkasan – Pemungut Sampah lwn Pemusnah

Pengumpul sampah dan pemusnah ialah dua istilah yang dikaitkan dengan melepaskan ingatan. Artikel ini membincangkan perbezaan antara Pemungut Sampah dan pemusnah. Perbezaan antara pengumpul sampah dan pemusnah ialah pengumpul sampah adalah perisian yang melaksanakan pengurusan memori automatik manakala pemusnah adalah kaedah khas yang dipanggil oleh pengumpul sampah semasa pemusnahan objek.

Muat turun PDF Pengumpul Sampah vs Pemusnah

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti dalam nota petikan. Sila muat turun versi PDF di sini: Perbezaan Antara Pemungut Sampah dan Pemusnah

Disyorkan: