Perbedaan antara buang () dan finalisasi ()

Perbedaan antara buang () dan finalisasi ()

Perbedaan Utama - Buang () vs menyelesaikan ()
 

Itu perbedaan utama antara membuang () dan finalisasi () adalah itu buang () harus secara eksplisit dipanggil oleh programmer saat finalisasi () dipanggil oleh pengumpul sampah sebelum menghancurkan objek.

Dispose () adalah metode untuk menutup atau melepaskan sumber daya yang tidak dikelola seperti file, aliran yang dipegang oleh suatu objek. Finalisasi adalah metode untuk melakukan operasi pembersihan pada sumber daya yang tidak dikelola yang dipegang oleh objek saat ini sebelum objek dihancurkan.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa yang dibuang ()
3. Apa yang finalisasi ()
4. Kesamaan antara buang () dan finalisasi ()
5. Perbandingan berdampingan - buang () vs finalisasi () dalam bentuk tabel
6. Ringkasan

Apa yang dibuang ()?

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

Metode Dispose () dapat digunakan untuk melepaskan sumber daya seperti koneksi basis data, penangan file dll. Metode ini tidak dipanggil secara otomatis. Oleh karena itu, programmer harus mengimplementasikan metode ini. Segera setelah metode ini dipanggil, memori untuk sumber daya yang tidak dikelola tertentu dirilis. Metode ini dinyatakan dalam antarmuka yang tidak dapat diidentifikasi.

Apa yang finalisasi ()?

Metode finalisasi hanya dipanggil oleh pengumpul sampah ketika referensi ke objek tidak digunakan lebih lanjut. Metode ini dipanggil sesaat sebelum menghancurkan objek. Metode ini diimplementasikan dengan bantuan penghancur. Metode finalisasi didefinisikan dalam java.Lang.Kelas Objek. Metode ini dinyatakan dilindungi. Tidak dinyatakan sebagai publik untuk menghindari mengakses kelas lain. Secara keseluruhan, metode finalisasi dapat meminimalkan kinerja program karena tidak membebaskan memori secara instan.

Apa kesamaan antara buang () dan finalisasi ()?

  • Baik Dispose () dan Finalize () dapat digunakan untuk membebaskan memori yang dialokasikan untuk sumber daya yang tidak dikelola.

Apa perbedaan antara buang () dan finalisasi ()?

Dispose () vs finalize ()

Dispose () adalah metode untuk menutup atau melepaskan sumber daya yang tidak dikelola seperti file, aliran yang dipegang oleh suatu objek. Finalisasi adalah metode untuk melakukan operasi pembersihan pada sumber daya yang tidak dikelola yang dipegang oleh objek saat ini sebelum objek dihancurkan.
 Objektif
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 ditentukan
Dispose () didefinisikan dalam antarmuka antarmuka idisposable. Finalisasi () didefinisikan dalam java.Lang.Kelas Objek.
 Metode memohon
Metode buang dipanggil oleh programmer. Metode finalisasi dipanggil oleh pengumpul sampah.
Access Specifier
Metode buangnya adalah publik. Metode finalisasi dilindungi.
Kecepatan
Metode buang dipanggil secara instan. Metode finalisasi dipanggil secara perlahan.
Pertunjukan
Dispose tidak akan meminimalkan kinerja program. Metode finalisasi mungkin meminimalkan kinerja program.

Ringkasan -Buang () vs menyelesaikan ()

Artikel ini membahas perbedaan antara membuang dan menyelesaikan metode di C#. Perbedaan antara Dispose () dan Finalize () adalah bahwa, Dispose () harus secara eksplisit dipanggil oleh programmer sementara finalisasi () dipanggil oleh pengumpul sampah sebelum menghancurkan objek.

Referensi:

1.Menerapkan finalisasi dan buang untuk membersihkan sumber daya yang tidak dikelola. Tersedia disini  
2.Sharma, Nitya. “Kembali ke Dasar - Buang VS Finalisasi.”C# Corner. Tersedia disini  

Gambar milik:

1.'Csharp Logo'by Andres15Alvarez - Karya Sendiri, (CC BY -SA 4.0) Via Commons Wikimedia