Perbedaan Antara buang () dan finalisasi ()

Daftar Isi:

Perbedaan Antara buang () dan finalisasi ()
Perbedaan Antara buang () dan finalisasi ()

Video: Perbedaan Antara buang () dan finalisasi ()

Video: Perbedaan Antara buang () dan finalisasi ()
Video: dispose vs finalize в С# 2024, Juli
Anonim

Perbedaan Kunci – buang () vs finalisasi ()

Perbedaan utama antara buang () dan finalisasi () adalah bahwa buang () harus secara eksplisit dipanggil oleh programmer sementara finalisasi () dipanggil oleh pengumpul sampah sebelum menghancurkan objek.

Disposisi () adalah metode untuk menutup atau melepaskan sumber daya yang tidak dikelola seperti file, aliran yang dipegang oleh suatu objek. Finalize adalah metode untuk melakukan operasi pembersihan pada sumber daya tidak terkelola yang dimiliki oleh objek saat ini sebelum objek dimusnahkan.

Apa itu buang()?

Salah satu keuntungan terpenting dari. Kerangka. NET adalah bahwa ia menyediakan pengumpulan sampah otomatis. Secara otomatis melepaskan memori dari objek yang tidak digunakan. Dalam bahasa pemrograman seperti C dan C++, programmer harus menangani manajemen memori sendiri. Tetapi dalam bahasa seperti C yang dibangun di atas kerangka. NET menyediakan pengumpul sampah. Ini membantu untuk mengelola memori. Itu tidak dapat digunakan untuk melepaskan sumber daya memori yang tidak dikelola. Metode buang () dapat digunakan untuk mencapai tugas ini.

Perbedaan Antara buang () dan finalisasi ()
Perbedaan Antara buang () dan finalisasi ()

Metode buang () dapat digunakan untuk melepaskan sumber daya seperti koneksi database, penangan file, dll. Metode ini tidak dipanggil secara otomatis. Oleh karena itu, programmer harus menerapkan metode ini. Segera setelah metode ini dipanggil, memori untuk sumber daya tidak terkelola tertentu akan dilepaskan. Metode ini dideklarasikan dalam antarmuka IDisposeable.

Apa itu finalize()?

Metode finalisasi hanya dipanggil oleh pengumpul sampah saat referensi ke objek tidak digunakan lebih lanjut. Metode ini dipanggil sesaat sebelum menghancurkan objek. Metode ini diimplementasikan dengan bantuan destructor. Metode finalisasi didefinisikan dalam kelas java.lang.object. Metode ini dinyatakan sebagai dilindungi. Itu tidak dideklarasikan sebagai publik untuk menghindari akses oleh kelas lain. Secara keseluruhan, metode finalize dapat meminimalkan kinerja program karena tidak langsung mengosongkan memori.

Apa Persamaan Antara Dispos() dan Finalize()?

Baik buang () dan finalize() dapat digunakan untuk mengosongkan memori yang dialokasikan untuk sumber daya yang tidak dikelola

Apa Perbedaan antara buang () dan finalize()?

buang () vs selesaikan ()

Dispos () adalah metode untuk menutup atau melepaskan sumber daya yang tidak dikelola seperti file, aliran yang dipegang oleh suatu objek. Finalize adalah metode untuk melakukan operasi pembersihan pada sumber daya tidak terkelola yang dipegang oleh objek saat ini sebelum objek dihancurkan.
Tujuan
Metode buang digunakan untuk membebaskan sumber daya yang tidak dikelola saat dipanggil. Metode finalisasi digunakan untuk membebaskan sumber daya yang tidak dikelola sebelum objek dihancurkan.
Antarmuka atau Kelas yang Ditetapkan
Disposable () didefinisikan di antarmuka IDisposable interface. Finalize() didefinisikan di kelas java.lang.object.
Memanggil Metode
Metode pembuangan dipanggil oleh programmer. Metode finalisasi dipanggil oleh pengumpul sampah.
Access Specifier
Metode pembuangan bersifat publik. Metode finalisasi dilindungi.
Kecepatan
Metode pembuangan dipanggil secara instan. Metode finalisasi dipanggil perlahan.
Kinerja
Pembuangan tidak akan mengurangi kinerja program. Metode finalisasi mungkin meminimalkan kinerja program.

Ringkasan – buang () vs finalisasi ()

Artikel ini membahas perbedaan antara metode pembuangan dan finalisasi dalam C. Perbedaan antara buang () dan finalisasi () adalah, buang () harus dipanggil secara eksplisit oleh programmer sedangkan finalisasi () dipanggil oleh pengumpul sampah sebelum menghancurkan objek.

Direkomendasikan: