Forskjellen mellom avhend () og fullfør ()

Innholdsfortegnelse:

Forskjellen mellom avhend () og fullfør ()
Forskjellen mellom avhend () og fullfør ()

Video: Forskjellen mellom avhend () og fullfør ()

Video: Forskjellen mellom avhend () og fullfør ()
Video: First Day of School | CoComelon Nursery Rhymes & Kids Songs 2024, Juli
Anonim

Nøkkelforskjell – disponer () vs. fullfør ()

Nøkkelforskjellen mellom disponere () og fullføre () er at disponere () må påkalles eksplisitt av programmereren mens finalize () påkalles av søppelsamleren før objektet ødelegges.

The dispose () er en metode for å lukke eller frigjøre uadministrerte ressurser som filer, strømmer som holdes av et objekt. Finaliseringen er en metode for å utføre oppryddingsoperasjoner på uadministrerte ressurser som holdes av det gjeldende objektet før objektet blir ødelagt.

Hva er dispose()?

En av de viktigste fordelene med. NET-rammeverket er at det gir automatisk søppelinnsamling. Den frigjør automatisk minnet til objektene som ikke brukes. I programmeringsspråk som C og C++ må programmereren håndtere minnehåndtering på egen hånd. Men i språk som C som er bygget på. NET-rammeverket gir søppelsamleren. Det hjelper å administrere minnet. Den kan ikke brukes til å frigjøre de uadministrerte minneressursene. Dispose ()-metoden kan brukes for å oppnå denne oppgaven.

Forskjellen mellom kast () og fullfør ()
Forskjellen mellom kast () og fullfør ()

Dispose ()-metoden kan brukes til å frigjøre ressurser som databaseforbindelser, filbehandlere osv. Denne metoden kalles ikke automatisk. Derfor bør programmereren implementere denne metoden. Så snart denne metoden påkalles, frigjøres minnet for den bestemte uadministrerte ressursen. Denne metoden er deklarert i grensesnittet IDisposeable.

Hva er finalize ()?

Finaliseringsmetoden kalles kun av søppelsamleren når referansen til et objekt ikke brukes videre. Denne metoden kalles rett før du ødelegger objektet. Denne metoden implementeres ved hjelp av destruktoren. Finalize-metoden er definert i klassen java.lang.object. Denne metoden er erklært som beskyttet. Det er ikke erklært som offentlig for å unngå tilgang fra de andre klassene. Tot alt sett kan sluttføringsmetoden minimere ytelsen til programmet fordi den ikke frigjør minnet umiddelbart.

Hva er likheten mellom disponere () og fullføre()?

Både disponere () og finalize() kan brukes til å frigjøre minnet som er tildelt for en ikke-administrert ressurs

Hva er forskjellen mellom disponere () og fullføre()?

dispose () vs finalize ()

The dispose () er en metode for å lukke eller frigjøre uadministrerte ressurser som filer, strømmer som holdes av et objekt. Finaliseringen er en metode for å utføre oppryddingsoperasjoner på uadministrerte ressurser som innehas av det gjeldende objektet før objektet blir ødelagt.
Mål
Deponeringsmetoden brukes til å frigjøre de uadministrerte ressursene når den påkalles. Finaliseringsmetoden brukes til å frigjøre de uadministrerte ressursene før objektet blir ødelagt.
Definert grensesnitt eller klasse
Deponer () er definert i grensesnittet IDisposable-grensesnitt. Finaliseringen () er definert i java.lang.object-klassen.
Påkallingsmetode
Kasseringsmetoden påkalles av programmereren. Finaliseringsmetoden påberopes av søppelsamleren.
Access Specifier
Deponeringsmetoden er offentlig. Ferdiggjøringsmetoden er beskyttet.
Speed
Deponeringsmetoden aktiveres umiddelbart. Fullføringsmetoden påkalles sakte.
Ytelse
Kasseringen vil ikke minimere ytelsen til programmet. Fullføringsmetoden kan redusere ytelsen til programmet.

Sammendrag – disponer () kontra fullfør ()

Denne artikkelen diskuterte forskjellen mellom avhending og ferdigstillelse i C. Forskjellen mellom dispose () og finalize () er at dispose () må eksplisitt påkalles av programmereren mens finalize () påkalles av søppelsamleren før objektet ødelegges.

Anbefalt: