Kas yra finalize() metodas Java ir kaip jį nepaisyti

Kas Yra Finalize Metodas Java Ir Kaip Ji Nepaisyti



„Java“ suteikia kūrėjui puikias funkcijas, leidžiančias efektyviai valdyti sistemos išteklius. Tokiu atveju „ užbaigti () “ įsigalioja metodas, kuris išleidžia sistemos išteklius prieš šiukšlių surinkėjui paleidžiant konkretų objektą. Tačiau „Java virtualioji mašina (JVM)“ leidžia vieną kartą iškviesti metodą „finalize()“ kiekvienam objektui.

Šiame tinklaraštyje bus aptariamas „finalize()“ metodo naudojimas ir nepaisymas.







Kas yra „Java“ „finalize()“ metodas ir kaip jį nepaisyti?

užbaigti () “ metodas “ Objektas “ klasę „Šiukšlių surinkėjas“ iškviečia prieš pat ištrindamas objektą, kuris tinka šiukšlėms surinkti, kad būtų atlikta valymo užduotis.



Sintaksė



apsaugotas tuščias užbaigimas ( ) meta Metamas





Šioje sintaksėje „ apsaugotas “ yra prieigos specifikacija, kuri reiškia, kad šį metodą galima pasiekti tik klasėje ir tik išvestinėse tos klasės klasėse.

1 pavyzdys: „finalize()“ metodo taikymas „Java“.



Šis pavyzdys iliustruoja „finalize()“ metodo naudojimą:

viešoji klasė Finalize2 {
apsaugotas tuščias užbaigimas ( ) {
System.out.println ( 'Tai yra užbaigimo metodas!' ) ;
}
viešas statinis tuštumas pagrindinis ( Styga [ ] args ) {
Finalize2 objektas = naujas Finalize2 ( ) ;
objektas = null;
Sistema.gc ( ) ;
System.out.println ( 'Kviečiamas šiukšlių surinkėjas!' ) ;
} }

Aukščiau pateiktose kodo eilutėse:

  • Taikykite ' užbaigti () “ metodą klasėje „Finalize2“, apimančią nurodytą teiginį.
  • pagrindinis “, sukurkite klasės objektą naudodami konstruktorių „Finalize2()“.
  • Dabar paskirkite objektą „ nulinis “ vertė. Jis toks, kad kai turi 'nulinę' reikšmę, nuorodos nėra ir taip, tinka šiukšlių išvežimui.
  • Po to pritaikykite „ Sistema.gc () “ metodą, kad būtų paleistas šiukšlių surinkėjas, taip iškviesdamas „finalize()“ metodą.

Išvestis

Čia galima patikrinti, ar „finalize()“ metodas yra tinkamai iškviestas.

2 pavyzdys: Java 'finalize()' metodo nepaisymas

Objektas “ klasė atitinka visų Java klasių pirminę klasę. Šioje klasėje esantis metodas „finalize()“ neįgyvendintas. Tačiau klasės apibrėžime yra valymo veiklos. Todėl, nepaisydami šio metodo, atliekamos apibrėžtos valymo veiklos:

viešoji klasė Finalize {
apsaugotas tuščias užbaigimas ( ) meta Metamas {
bandyti {
System.out.println ( 'Class finalize() metodas' ) ;
}
sugauti ( Metamas išskyrus ) {
mesti išskyrus;
}
pagaliau {
System.out.println ( 'Objektų klasės finalize() metodo iškvietimas' ) ;
super.pabaigti ( ) ;
} }
viešas statinis tuštumas pagrindinis ( Styga [ ] args ) meta Metamas {
Finalize obj = naujas Finalize ( ) ;
obj.užbaigti ( ) ;
} }

Pagal aukščiau pateiktą kodo bloką:

  • Nurodykite ' užbaigti () “ metodą ir paskelbkite „ Metamas “ išimtis, atitinkamai.
  • Viduje ' bandyti “ bloką, nurodykite nurodytą teiginį ir susidorokite su išimtimi „ sugauti “ blokas.
  • Viduje ' pagaliau “ blokas, “ super “ raktinis žodis nurodo objektų klasės „finalize()“ metodą. Jis taikomas šiame konkrečiame bloke, kad būtų užtikrintas „finalize()“ metodo vykdymas, net jei susiduriama su išimtimi.
  • pagrindinis “, sukurkite klasės objektą ir pakeiskite objektų klasės metodą „finalize()“ metodu, nurodytu/apibrėžtu klasėje „Finalize“.

Išvestis

Šiame rezultate galima pastebėti, kad „finalize()“ metodas buvo sėkmingai panaikintas.

Išvada

užbaigti () “ metodą iškviečia „Garbage Collector“ prieš ištrindamas objektą ir gali būti nepaisomas naudojant „ super “ raktinį žodį. Šiame tinklaraštyje buvo aptartas „finalize()“ metodo „Java“ naudojimas ir nepaisymas.