Perbezaan Utama - buang () vs selesaikan ()
Perbezaan utama antara membuang () dan menyelesaikan () adalah bahawa membuang () mesti dipanggil secara eksplisit oleh pengaturcara sementara penyelesaian () dipanggil oleh pengumpul sampah sebelum memusnahkan objek.
Membuang () adalah kaedah untuk menutup atau melepaskan sumber yang tidak dikendalikan seperti fail, aliran yang dipegang oleh objek. Menyelesaikan adalah kaedah untuk melakukan operasi pembersihan pada sumber yang tidak dikendalikan yang dipegang oleh objek semasa sebelum objek itu dimusnahkan.
KANDUNGAN
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa yang dilupuskan ()
3. Apa yang diselesaikan ()
4. Persamaan Antara membuang () dan menyelesaikan ()
5. Perbandingan Berdampingan - buang () vs finalis () dalam Jadual Tingkatan
6. Ringkasan
Apa yang dilupuskan ()?
Salah satu kelebihan terpenting dari kerangka kerja. NET ialah menyediakan koleksi sampah secara automatik. Secara automatik melepaskan memori objek yang tidak digunakan. Dalam bahasa pengaturcaraan seperti C dan C ++, pengaturcara harus mengendalikan pengurusan memori sendiri. Tetapi dalam bahasa seperti C # yang dibina di atas. Rangka kerja NET menyediakan pengumpul sampah. Ia membantu menguruskan memori. Ia tidak dapat digunakan untuk melepaskan sumber memori yang tidak dikendalikan. Kaedah buang () boleh digunakan untuk mencapai tugas ini.
Kaedah buang () dapat digunakan untuk melepaskan sumber seperti sambungan pangkalan data, pengendali fail dll. Kaedah ini tidak dipanggil secara automatik. Oleh itu, pengaturcara harus melaksanakan kaedah ini. Sebaik sahaja kaedah ini digunakan, memori untuk sumber yang tidak dikendalikan akan dilepaskan. Kaedah ini dinyatakan dalam antara muka yang dapat dibezakan.
Apa yang diselesaikan ()?
Kaedah menyelesaikan hanya dipanggil oleh pengumpul sampah apabila rujukan ke objek tidak digunakan lebih jauh. Kaedah ini dipanggil sebelum memusnahkan objek. Kaedah ini dilaksanakan dengan bantuan pemusnah. Kaedah akhir ditentukan dalam kelas java.lang.object. Kaedah ini dinyatakan sebagai dilindungi. Ia tidak dinyatakan sebagai umum untuk mengelakkan akses oleh kelas lain. Secara keseluruhan, kaedah menyelesaikan dapat meminimumkan prestasi program kerana tidak membebaskan memori dengan serta-merta.
Apakah Kesamaan Antara membuang () dan menyelesaikan ()?
Kedua membuang () dan menyelesaikan () dapat digunakan untuk membebaskan memori yang diperuntukkan untuk sumber yang tidak dikendalikan
Apakah Perbezaan antara membuang () dan menyelesaikan ()?
Artikel Diff Tengah sebelum Jadual
buang () vs selesaikan () |
|
Membuang () adalah kaedah untuk menutup atau melepaskan sumber yang tidak dikendalikan seperti fail, aliran yang dipegang oleh objek. | Menyelesaikan adalah kaedah untuk melakukan operasi pembersihan pada sumber yang tidak dikendalikan yang dipegang oleh objek semasa sebelum objek itu dimusnahkan. |
Objektif | |
Kaedah pelupusan digunakan untuk membebaskan sumber yang tidak dikendalikan ketika dipanggil. | Kaedah akhir digunakan untuk membebaskan sumber yang tidak dikendalikan sebelum objek dimusnahkan. |
Antaramuka atau Kelas yang ditentukan | |
Lupuskan () ditakrifkan dalam antara muka antara muka yang boleh dibezakan | Memuktamadkan () ditakrifkan dalam kelas java.lang.object. |
Kaedah Memohon | |
Kaedah buang dipanggil oleh pengaturcara. | Kaedah akhir digunakan oleh pengutip sampah. |
Penentu Akses | |
Kaedah pelupusan adalah umum. | Kaedah akhir dilindungi. |
Kepantasan | |
Kaedah pelupusan digunakan serta-merta. | Kaedah akhir digunakan perlahan-lahan. |
Persembahan | |
Pembuangan tidak akan meminimumkan prestasi program. | Kaedah menyelesaikan mungkin meminimumkan prestasi program. |
Ringkasan - hapus () vs selesaikan ()
Artikel ini membincangkan perbezaan antara kaedah pelupusan dan penyelesaian dalam C #. Perbezaan antara membuang () dan menyelesaikan () adalah bahawa, buang () harus dipanggil secara eksplisit oleh pengaturcara sementara penyelesaian () dipanggil oleh pengumpul sampah sebelum memusnahkan objek.