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.