Kas ir finalize() metode Java un kā to ignorēt

Kas Ir Finalize Metode Java Un Ka To Ignoret



Java nodrošina izstrādātājam lielisku funkcionalitāti, lai efektīvi pārvaldītu sistēmas resursus. Šādā scenārijā ' pabeigt () ” stājas spēkā metode, kas atbrīvo sistēmas resursus, pirms atkritumu savācējs izpilda konkrētu objektu. Tomēr Java virtuālā mašīna (JVM) ļauj izsaukt metodi “finalize()” vienu reizi katram objektam.

Šajā emuārā tiks apspriesta “finalize()” metodes izmantošana un ignorēšana.







Kas ir Java “finalize()” metode un kā to ignorēt?

' pabeigt () ' metode ' Objekts ” klasi izsauc “Atkritumu savācējs” tieši pirms atkritumu savākšanai piemērotā objekta dzēšanas, lai piemērotu sakopšanas uzdevumu.



Sintakse



aizsargāts tukšums pabeigt ( ) met Metams





Šajā sintaksē ' aizsargāts ” ir piekļuves specifikācija, kas nozīmē, ka šai metodei var piekļūt tikai klasē un tikai šīs klases atvasinātajās klasēs.

1. piemērs: Metodes “finalize()” izmantošana Java



Šis piemērs ilustrē metodes “finalize()” izmantošanu:

publiskā klase Finalize2 {
aizsargāts tukšums pabeigt ( ) {
System.out.println ( 'Šī ir Finalize metode!' ) ;
}
publisks statisks tukšums galvenais ( Stīga [ ] args ) {
Finalize2 objekts = jauns Finalize2 ( ) ;
objekts = null;
System.gc ( ) ;
System.out.println ( 'Atkritumu savācējs tiek piesaukts!' ) ;
} }

Iepriekš minētajās koda rindās:

  • Pielietojiet ' pabeigt () ” metodi klasē “Finalize2”, kas ietver norādīto paziņojumu.
  • sadaļā “ galvenais ”, izveidojiet klases objektu, izmantojot konstruktoru “Finalize2()”.
  • Tagad piešķiriet objektam ' null ” vērtību. Tas ir tāds, ka, ja tam ir “nulle” vērtība, nav atsauces, un tāpēc tas ir piemērots atkritumu savākšanai.
  • Pēc tam izmantojiet ' System.gc () ” metodi, lai izpildītu atkritumu savācēju, tādējādi izsaucot metodi “finalize()”.

Izvade

Šeit var pārbaudīt, vai metode “finalize()” ir izsaukta pareizi.

2. piemērs: Java “finalize()” metodes ignorēšana

' Objekts ” klase atbilst visu Java klašu vecāku klasei. Šajā klasē esošajai metodei “finalize()” nav nekādas ieviešanas. Tomēr klases definīcijā tīrīšanas pasākumi ir tur. Tāpēc, ignorējot šo metodi, tiek veiktas noteiktās tīrīšanas darbības:

publiskā klase Pabeigt {
aizsargāts tukšums pabeigt ( ) met Metams {
mēģināt {
System.out.println ( 'klases finalize() metode' ) ;
}
noķert ( Izmetams izņemot ) {
mest izņemot;
}
beidzot {
System.out.println ( 'Objektu klases metodes finalize() izsaukšana' ) ;
super.pabeigt ( ) ;
} }
publisks statisks tukšums galvenais ( Stīga [ ] args ) met Metams {
Finalize obj = jauns Finalize ( ) ;
obj.finalizēt ( ) ;
} }

Saskaņā ar iepriekš minēto koda bloku:

  • Norādiet ' pabeigt () ' metodi un paziņojiet par ' Metams ” izņēmums, attiecīgi.
  • Iekš ' mēģināt ” blokā, norādiet norādīto paziņojumu un izturieties ar izņēmumu sadaļā “ noķert ' bloķēt.
  • Iekš ' beidzot ' bloks, ' super ” atslēgvārds norāda uz objektu klases metodi “finalize()”. Tas tiek lietots šajā konkrētajā blokā, lai nodrošinātu metodes “finalize()” izpildi pat tad, ja ir izņēmums.
  • sadaļā “ galvenais ”, izveidojiet klases objektu un ignorējiet objektu klases metodi “finalize()” ar klasē “Finalize” norādīto/definēto metodi.

Izvade

Šajā iznākumā var novērot, ka metode “finalize()” ir veiksmīgi ignorēta.

Secinājums

' pabeigt () ” metodi “Garbage Collector” izsauc pirms objekta dzēšanas, un to var ignorēt, izmantojot “ super ” atslēgvārds. Šajā emuārā tika apspriesta Java metodes “finalize()” izmantošana un ignorēšana.