Mikä on finalize()-menetelmä Javassa ja kuinka se ohitetaan

Mika On Finalize Menetelma Javassa Ja Kuinka Se Ohitetaan



Java tarjoaa kehittäjälle erinomaisen toiminnon hallita järjestelmäresursseja tehokkaasti. Tällaisessa tilanteessa ' viimeistellä () ” -menetelmä tulee voimaan, joka vapauttaa järjestelmäresurssit ennen kuin roskankerääjä suorittaa tietyn kohteen. 'Java Virtual Machine (JVM)' sallii kuitenkin 'finalize()'-menetelmän kutsumisen kerran objektia kohden.

Tässä blogissa käsitellään 'finalize()'-menetelmän käyttöä ja ohittamista.







Mikä on Java 'finalize()' -menetelmä ja kuinka se ohitetaan?

' viimeistellä () 'menetelmä' Esine 'Garbage Collector' käynnistää luokan juuri ennen roskienkeräykseen soveltuvan objektin poistamista siivoustehtävän suorittamiseksi.



Syntaksi



suojattu tyhjä viimeistely ( ) heittää Heitettävä





Tässä syntaksissa ' suojattu ” on pääsyn määrittäjä, joka tarkoittaa, että tätä menetelmää voidaan käyttää luokan sisällä ja vain tämän luokan johdetuissa luokissa.

Esimerkki 1: Finalize()-menetelmän käyttäminen Javassa



Tämä esimerkki havainnollistaa 'finalize()'-menetelmän käyttöä:

julkinen luokka Finaali2 {
suojattu tyhjä viimeistely ( ) {
System.out.println ( 'Tämä on viimeistelymenetelmä!' ) ;
}
julkinen static void main ( merkkijono [ ] args ) {
Finalize2 objekti = uusi Finalize2 ( ) ;
objekti = null;
System.gc ( ) ;
System.out.println ( 'Roskatkeräilijä kutsutaan!' ) ;
} }

Yllä olevilla koodiriveillä:

  • Käytä ' viimeistellä () ”-menetelmää luokassa ”Finalize2”, joka sisältää mainitun lausunnon.
  • Sisään ' pää ”, luo luokkaobjekti 'Finalize2()'-konstruktorin avulla.
  • Anna nyt objektille ' tyhjä ”arvoa. Se on sellainen, että kun sen arvo on 'nolla', viitettä ei ole, joten se sopii roskien keräykseen.
  • Käytä sen jälkeen ' System.gc () ' -menetelmää roskienkeräimen suorittamiseksi ja kutsuen siten 'finalize()' -menetelmää.

Lähtö

Täällä voidaan varmistaa, että 'finalize()' -menetelmää käytetään asianmukaisesti.

Esimerkki 2: Java “finalize()”-menetelmän ohittaminen

' Esine ”-luokka vastaa kaikkien Java-luokkien pääluokkaa. Tässä luokassa olevalla 'finalize()'-menetelmällä ei ole toteutusta. Luokan määritelmässä on kuitenkin siivoustoiminta. Siksi tämän menetelmän ohittaminen johtaa määritettyjen puhdistustoimintojen suorittamiseen:

julkinen luokka Viimeistele {
suojattu tyhjä viimeistely ( ) heittää Heitettävä {
yrittää {
System.out.println ( 'luokan finalize() -menetelmä' ) ;
}
ottaa kiinni ( Heitettävä paitsi ) {
heittää paitsi;
}
vihdoinkin {
System.out.println ( 'Object-luokan finalize()-menetelmän kutsuminen' ) ;
super.finalize ( ) ;
} }
julkinen static void main ( merkkijono [ ] args ) heittää Heitettävä {
Viimeistele obj = uusi Viimeistele ( ) ;
obj.finalize ( ) ;
} }

Yllä olevan koodilohkon mukaan:

  • Määritä ' viimeistellä () ' -menetelmää ja ilmoittaa ' Heitettävä ” poikkeus.
  • ' yrittää ' -lohko, määritä ilmoitettu lause ja selvitä poikkeuksesta ' ottaa kiinni ” lohko.
  • ' vihdoinkin ' lohko, ' super '-avainsana viittaa objektiluokan 'finalize()'-menetelmään. Sitä käytetään tässä erityisessä lohkossa varmistamaan 'finalize()'-menetelmän suorittaminen, vaikka poikkeus kohtaisikin.
  • Sisään ' pää ”, luo luokkaobjekti ja ohita objektiluokan 'finalize()'-metodi 'Finalize'-luokassa määritetyllä/määritetyllä menetelmällä.

Lähtö

Tässä tuloksessa voidaan havaita, että 'finalize()' -menetelmä ohitetaan onnistuneesti.

Johtopäätös

' viimeistellä () 'Garbage Collector' käynnistää menetelmän ennen objektin poistamista ja se voidaan ohittaa käyttämällä ' super ”avainsana. Tässä blogissa käsiteltiin 'finalize()'-menetelmän käyttöä ja ohittamista Javassa.