Java giver udvikleren en fantastisk funktionalitet til at administrere systemressourcerne effektivt. I et sådant scenarie vil ' afslutte() ”-metoden træder i kraft, der frigiver systemressourcerne, før affaldsopsamleren eksekverer for et specifikt objekt. 'Java Virtual Machine (JVM)' tillader dog at påkalde 'finalize()'-metoden én gang pr. objekt.
Denne blog vil diskutere brug og tilsidesættelse af 'finalize()'-metoden.
Hvad er Java 'finalize()'-metoden, og hvordan tilsidesætter man den?
Det ' afslutte() 'metoden af ' Objekt ”-klassen påkaldes af “Garbage Collector” lige før sletning af det objekt, der er egnet til affaldsindsamling, for at anvende oprydningsopgaven.
Syntaks
beskyttet tomrum afsluttes ( ) kaster Kastbar
I denne syntaks, ' beskyttet ” er en adgangsspecifikation, der antyder, at denne metode kun kan tilgås inden for klassen og de afledte klasser af denne klasse.
Eksempel 1: Anvendelse af 'finalize()'-metoden i Java
Dette eksempel illustrerer brugen af 'finalize()'-metoden:
offentlig klasse Afslut2 {beskyttet tomrum afsluttes ( ) {
System.out.println ( 'Dette er Finalize-metoden!' ) ;
}
offentlig statisk tomrum hoved ( Snor [ ] args ) {
Finalize2-objekt = nyt Finalize2 ( ) ;
objekt = null;
System.gc ( ) ;
System.out.println ( 'Affaldssamleren er påberåbt!' ) ;
} }
I ovenstående kodelinjer:
- Anvend ' afslutte() ” metode inden for klassen “Finalize2”, der omfatter den angivne erklæring.
- i ' vigtigste ”, opret et klasseobjekt via “Finalize2()”-konstruktøren.
- Tildel nu et objekt en ' nul 'værdi. Det er sådan, at når det har en 'nul' værdi, er der ingen reference, og så er det velegnet til affaldsindsamling.
- Anvend derefter ' System.gc () ”-metoden til at udføre garbage collector og kalder derved “finalize()”-metoden.
Produktion
Her kan det verificeres, at 'finalize()'-metoden aktiveres korrekt.
Eksempel 2: Tilsidesættelse af Java 'finalize()'-metoden
Det ' Objekt ” klasse svarer til overordnet klasse for alle Java klasser. Metoden 'finalize()' til stede i denne klasse har ingen implementering. Men i klassedefinitionen er oprydningsaktiviteterne der. Derfor resulterer tilsidesættelse af denne metode i at udføre de definerede oprydningsaktiviteter:
offentlig klasse Afslut {beskyttet tomrum afsluttes ( ) kaster Kastbar {
prøve {
System.out.println ( 'Klassen finalize() metoden' ) ;
}
fangst ( Kan kastes undtagen ) {
kaste undtagen;
}
endelig {
System.out.println ( 'Bruger finalize()-metoden for Object-klassen' ) ;
super.afslut ( ) ;
} }
offentlig statisk tomrum hoved ( Snor [ ] args ) kaster Kastbar {
Afslut obj = ny Afslut ( ) ;
obj.afslutte ( ) ;
} }
I henhold til ovenstående kodeblok:
- Angiv ' afslutte() '-metoden og erklære ' Kan kastes ” undtagelse, hhv.
- I ' prøve ”-blok, angiv den angivne erklæring og overtag undtagelsen i ” fangst ” blok.
- I ' endelig ' blok, ' super ” nøgleordet peger på “finalize()”-metoden for objektklassen. Den anvendes i denne specifikke blok for at sikre udførelse af 'finalize()'-metoden, selvom der er en undtagelse.
- i ' vigtigste ”, opret et klasseobjekt og tilsidesæt “finalize()”-metoden for objektklassen med den metode, der er angivet/defineret i klassen “Finalize”.
Produktion
I dette resultat kan det observeres, at 'finalize()'-metoden er tilsidesat med succes.
Konklusion
Det ' afslutte() '-metoden påkaldes af 'Garbage Collector' før sletning af objektet og kan tilsidesættes ved hjælp af ' super ” nøgleord. Denne blog diskuterede brug og tilsidesættelse af 'finalize()'-metoden i Java.