Apa Metode finalize() di Jawa dan Bagaimana Cara Menggantinya

Apa Metode Finalize Di Jawa Dan Bagaimana Cara Menggantinya



Java memberi pengembang fungsionalitas yang hebat untuk mengelola sumber daya sistem secara efektif. Dalam skenario seperti itu, “ menyelesaikan() ” metode mulai berlaku yang melepaskan sumber daya sistem sebelum pengumpul sampah mengeksekusi untuk objek tertentu. Namun, “Java Virtual Machine (JVM)” memungkinkan pemanggilan metode “finalize()” satu kali per objek.

Blog ini akan membahas penggunaan dan penggantian metode “finalize()”.







Apa itu Metode 'finalisasi ()' Java dan Bagaimana Cara Menggantinya?

menyelesaikan() ” metode dari “ Obyek ” kelas dipanggil oleh 'Pengumpul Sampah' sebelum menghapus objek yang cocok untuk pengumpulan sampah untuk menerapkan tugas pembersihan.



Sintaksis



penyelesaian void yang dilindungi ( ) melempar Throwable





Dalam sintaks ini, “ terlindung ” adalah penentu akses yang menyiratkan bahwa metode ini hanya dapat diakses di dalam kelas dan kelas turunan dari kelas tersebut.

Contoh 1: Menerapkan Metode “finalize()” di Java



Contoh ini mengilustrasikan penggunaan metode “finalize()”:

Finalisasi kelas publik2 {
penyelesaian void yang dilindungi ( ) {
System.out.println ( 'Ini adalah metode Finalisasi!' ) ;
}
public void utama statis ( Rangkaian [ ] argumen ) {
Finalisasi2 objek = baru Finalisasi2 ( ) ;
objek = nol;
Sistem.gc ( ) ;
System.out.println ( 'Pengumpul sampah dipanggil!' ) ;
} }

Pada baris kode di atas:

  • Terapkan “ menyelesaikan() ” metode dalam kelas 'Finalize2' yang terdiri dari pernyataan yang disebutkan.
  • Di dalam ' utama ”, buat objek kelas melalui konstruktor “Finalize2()”.
  • Sekarang, alokasikan objek a “ batal ' nilai. Sehingga ketika memiliki nilai 'null', tidak ada referensi sehingga cocok untuk pengumpulan sampah.
  • Setelah itu, terapkan ' Sistem.gc () ” untuk mengeksekusi pengumpul sampah, sehingga memanggil metode “finalize()”.

Keluaran

Di sini, dapat diverifikasi bahwa metode “finalize()” dipanggil dengan tepat.

Contoh 2: Mengganti Metode “finalize()” Java

Obyek ” kelas sesuai dengan kelas induk dari semua kelas Java. Metode 'finalisasi ()' yang ada di kelas ini tidak memiliki implementasi apa pun. Namun, dalam definisi kelas, kegiatan bersih-bersih itu ada. Oleh karena itu, mengesampingkan hasil metode ini dalam melakukan aktivitas pembersihan yang ditentukan:

Finalisasi kelas publik {
penyelesaian void yang dilindungi ( ) melempar Throwable {
mencoba {
System.out.println ( 'Metode finalisasi kelas ()' ) ;
}
menangkap ( Dapat dilempar kecuali ) {
lempar kecuali;
}
Akhirnya {
System.out.println ( 'Memanggil metode finalize() dari kelas Object' ) ;
super.finalisasi ( ) ;
} }
public void utama statis ( Rangkaian [ ] argumen ) melempar Throwable {
Selesaikan obj = baru Selesaikan ( ) ;
obj.finalisasi ( ) ;
} }

Menurut blok kode di atas:

  • Tentukan “ menyelesaikan() ” dan nyatakan metode “ Dapat dilempar ” pengecualian, masing-masing.
  • Dalam ' mencoba ”, tentukan pernyataan yang dinyatakan dan atasi pengecualian di kotak “ menangkap ' memblokir.
  • Dalam ' Akhirnya ' blok, ' super ” kata kunci menunjuk ke metode “finalisasi ()” dari kelas objek. Itu diterapkan di blok khusus ini untuk memastikan eksekusi metode 'finalisasi ()' bahkan jika ada pengecualian.
  • Di dalam ' utama ”, buat objek kelas dan ganti metode “finalize()” dari kelas objek dengan metode yang ditentukan/ditentukan di kelas “Finalize”.

Keluaran

Dalam hasil ini, dapat diamati bahwa metode “finalize()” berhasil diganti.

Kesimpulan

menyelesaikan() ” metode dipanggil oleh “Pengumpul Sampah” sebelum menghapus objek dan dapat diganti menggunakan metode “ super ” kata kunci. Blog ini membahas penggunaan dan penggantian metode “finalize()” di Java.