Čo je metóda finalize() v jazyku Java a ako ju prepísať

Co Je Metoda Finalize V Jazyku Java A Ako Ju Prepisat



Java poskytuje vývojárom skvelú funkcionalitu na efektívne riadenie systémových prostriedkov. V takomto scenári „ finalizovať () ” nadobudne účinnosť metóda, ktorá uvoľní systémové prostriedky pred spustením zberača odpadu pre konkrétny objekt. „Java Virtual Machine (JVM)“ však umožňuje vyvolať metódu „finalize()“ raz na objekt.

Tento blog bude diskutovať o používaní a prepisovaní metódy „finalize()“.







Čo je metóda Java „finalize()“ a ako ju prepísať?

' finalizovať () “metóda “ Objekt ” trieda je vyvolaná “Garbage Collector” tesne pred odstránením objektu, ktorý je vhodný na garbage collection, aby sa aplikovala úloha čistenia.



Syntax



chránenú prázdnotu dokončiť ( ) hodí Throwable





V tejto syntaxi „ chránené ” je špecifikátor prístupu, ktorý znamená, že k tejto metóde je možné pristupovať iba v rámci triedy a odvodených tried tejto triedy.

Príklad 1: Aplikácia metódy „finalize()“ v jazyku Java



Tento príklad ilustruje použitie metódy „finalize()“:

verejná trieda Dokončiť 2 {
chránenú prázdnotu dokončiť ( ) {
System.out.println ( 'Toto je metóda Finalize!' ) ;
}
public static void main ( Reťazec [ ] args ) {
Objekt Finalize2 = nový Finalize2 ( ) ;
objekt = null;
System.gc ( ) ;
System.out.println ( 'Vyzýva sa zberač odpadu!' ) ;
} }

Vo vyššie uvedených riadkoch kódu:

  • Použiť „ finalizovať () ” metóda v rámci triedy “Finalize2” obsahujúca uvedený príkaz.
  • v ' Hlavná “, vytvorte objekt triedy pomocou konštruktora „Finalize2()“.
  • Teraz priraďte objektu „ nulový “hodnota. Je taká, že keď má hodnotu „null“, nie je tam žiadna referencia, a preto je vhodná na zber odpadu.
  • Potom použite „ System.gc () ” na spustenie garbage collectora, čím sa vyvolá metóda “finalize()”.

Výkon

Tu je možné overiť, že metóda „finalize()“ je vyvolaná správne.

Príklad 2: Prepísanie metódy Java „finalize()“.

' Objekt ” zodpovedá rodičovskej triede všetkých tried Java. Metóda „finalize()“ prítomná v tejto triede nemá žiadnu implementáciu. V definícii triedy sú však upratovacie činnosti. Preto prepísanie tejto metódy vedie k vykonaniu definovaných činností čistenia:

verejná trieda Dokončiť {
chránenú prázdnotu dokončiť ( ) hodí Throwable {
skúste {
System.out.println ( 'Metóda class finalize()' ) ;
}
chytiť ( Vhadzovateľné okrem ) {
hodiť okrem;
}
konečne {
System.out.println ( 'Vyvolanie metódy finalize() triedy Object' ) ;
super.finalizovať ( ) ;
} }
public static void main ( Reťazec [ ] args ) hodí Throwable {
Finalize obj = new Finalize ( ) ;
obj.finalizovať ( ) ;
} }

Podľa vyššie uvedeného bloku kódu:

  • Uveďte „ finalizovať () “ a deklarovať “ Vhadzovateľné “výnimka, resp.
  • V ' skúste “, špecifikujte uvedené vyhlásenie a vyrovnajte sa s výnimkou v „ chytiť “blok.
  • V ' konečne “blok, “ Super Kľúčové slovo ” ukazuje na metódu “finalize()” triedy objektov. Používa sa v tomto špecifickom bloku na zabezpečenie vykonania metódy „finalize()“ aj v prípade, že dôjde k výnimke.
  • v ' Hlavná “, vytvorte objekt triedy a prepíšte metódu „finalize()“ triedy objektov metódou špecifikovanou/definovanou v triede „Finalize“.

Výkon

V tomto výsledku možno pozorovať, že metóda „finalize()“ bola úspešne potlačená.

Záver

' finalizovať () “ je vyvolaná „Garbage Collector“ pred odstránením objektu a dá sa prepísať pomocou „ Super kľúčové slovo. Tento blog diskutoval o používaní a prepisovaní metódy „finalize()“ v jazyku Java.