Object.JavaFinalize Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.
[Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")]
protected virtual void JavaFinalize ();
[<Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")>]
abstract member JavaFinalize : unit -> unit
override this.JavaFinalize : unit -> unit
- Atribut
Pengecualian
Keterangan
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. Subkelas mengambil alih finalize
metode untuk membuang sumber daya sistem atau untuk melakukan pembersihan lainnya.
Kontrak finalize
umum adalah bahwa itu dipanggil jika dan ketika Java ™ komputer virtual telah menentukan bahwa tidak ada lagi cara di mana objek ini dapat diakses oleh utas apa pun yang belum mati, kecuali sebagai akibat dari tindakan yang diambil oleh finalisasi beberapa objek atau kelas lain yang siap untuk diselesaikan. Metode finalize
ini dapat mengambil tindakan apa pun, termasuk membuat objek ini tersedia lagi ke utas lain; tujuan yang biasa dari finalize
, namun, adalah untuk melakukan tindakan pembersihan sebelum objek dibuang secara tidak dapat dibatalkan. Misalnya, metode finalisasi untuk objek yang mewakili koneksi input/output mungkin melakukan transaksi I/O eksplisit untuk memutuskan koneksi sebelum objek dibuang secara permanen.
Metode finalize
kelas Object
tidak melakukan tindakan khusus; itu hanya kembali secara normal. Subkelas Object
dapat mengambil alih definisi ini.
Bahasa pemrograman Java tidak menjamin utas mana yang akan memanggil finalize
metode untuk objek tertentu. Namun, dijamin bahwa utas yang memanggil finalisasi tidak akan menahan kunci sinkronisasi yang terlihat pengguna saat finalisasi dipanggil. Jika pengecualian yang tidak tertangkap dilemparkan oleh metode finalisasi, pengecualian diabaikan dan finalisasi objek tersebut berakhir.
finalize
Setelah metode dipanggil untuk objek, tidak ada tindakan lebih lanjut yang diambil sampai komputer virtual Java kembali menentukan bahwa tidak ada lagi cara di mana objek ini dapat diakses oleh utas apa pun yang belum mati, termasuk kemungkinan tindakan oleh objek atau kelas lain yang siap untuk diselesaikan, di titik mana objek dapat dibuang.
Metode finalize
ini tidak pernah dipanggil lebih dari sekali oleh komputer virtual Java untuk objek tertentu.
Pengecualian apa pun yang finalize
dilemparkan oleh metode menyebabkan finalisasi objek ini dihentikan, tetapi diabaikan.
Dokumentasi Java untuk java.lang.Object.finalize()
.
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.