„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.