Forskjellen mellom disponere () og fullføre ()

Nøkkelforskjell - kast bort () vs ferdigstille ()
 

De nøkkelforskjell mellom disponere () og sluttføre () er det disponere () må eksplisitt påberopes av programmøren mens sluttbehandlingen () er påkrevet av søppelsamleren før du ødelegger objektet.

Disponeringen () er en metode for å lukke eller slippe ut uhåndterte ressurser, for eksempel filer, strømmer som holdes av en gjenstand. Finaliseringen er en metode for å utføre opprydningsoperasjoner på ustyrte ressurser som holdes av det nåværende objektet før objektet blir ødelagt.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er bortkastet ()
3. Hva er ferdiggjort ()
4. Likheter mellom disponere () og fullføre ()
5. Side ved side-sammenligning - disponere () vs sluttføre () i tabellform
6. Sammendrag

Hva er bortkastet ()?

En av de viktigste fordelene ved .NET-rammeverk er at den gir automatisk søppelsamling. Den frigjør automatisk minnet til objekter som ikke er brukt. I programmeringsspråk som C og C ++ må programmereren selv håndtere minnehåndtering. Men på språk som C # som er bygget på. NET-rammeverket gir søppelsamleren. Det hjelper å håndtere minnet. Det kan ikke brukes til å frigjøre de ustyrte minnesressursene. Metoden Dispose () kan brukes til å oppnå denne oppgaven.

Metoden Dispose () kan brukes til å frigjøre ressurser som databaseforbindelser, filhåndteringsprogrammer etc. Denne metoden kalles ikke automatisk. Derfor bør programmøren implementere denne metoden. Så snart denne metoden er påkalt, blir minnet for den spesielle ustyrte ressursen frigjort. Denne metoden er deklarert i grensesnittet IDisposeable.

Hva er ferdiggjort ()?

Den avsluttende metoden kalles bare av søppelsamleren når referansen til en gjenstand ikke brukes videre. Denne metoden kalles like før du ødelegger objektet. Denne metoden er implementert ved hjelp av destruktoren. Den avsluttende metoden er definert i klassen java.lang.object. Denne metoden er erklært som beskyttet. Det er ikke erklært som offentlig for å unngå å få tilgang til de andre klassene. Samlet sett kan den ferdige metoden minimere ytelsen til programmet fordi den ikke frigjør minnet umiddelbart.

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

  • Både disponere () og sluttføre () kan brukes til å frigjøre minnet som er tildelt for en ustyrt ressurs.

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

disponere () vs sluttføre ()

Disponeringen () er en metode for å lukke eller slippe ut uhåndterte ressurser, for eksempel filer, strømmer som holdes av en gjenstand. Finaliseringen er en metode for å utføre rydde operasjoner på ustyrte ressurser som holdes av det nåværende objektet før objektet blir ødelagt.
 Objektiv
Disponeringsmetoden brukes til å frigjøre de ustyrte ressursene når den påberopes. Den ferdige metoden brukes til å frigjøre de ustyrte ressursene før objektet blir ødelagt.
Definert grensesnitt eller klasse
Disponeringen () er definert i grensesnittet IDisposable grensesnitt. Finaliseringen () er definert i java.lang.object-klassen.
 Innkallingsmetode
Disponeringsmetoden påberopes av programmøren. Den avsluttende metoden er påkrevet av søppelsamleren.
tilgang Specifier
Disponeringsmetoden er offentlig. Den avsluttende metoden er beskyttet.
Hastighet
Disponeringsmetoden er påkalt umiddelbart. Den avsluttende metoden er påkalt sakte.
Opptreden
Disponeringen vil ikke minimere ytelsen til programmet. Den avsluttende metoden kan redusere ytelsen til programmet.

Sammendrag - kast () vs ferdigstille ()

Denne artikkelen diskuterte forskjellen mellom disponere og fullføre metoder i C #. Forskjellen mellom disponere () og sluttføre () er at disponere () må eksplisitt påberopes av programmøren mens slutten () påberopes av søppelsamleren før du ødelegger objektet.

Henvisning:

1.Implementering Fullfør og kast for å rydde opp ustyrte ressurser. Tilgjengelig her  
2.Sharma, Nitya. "Tilbake til grunnleggende - Avhend Vs Finalize." C # Corner. Tilgjengelig her  

Bilde Courtesy:

1.'Csharp Logo'By Andres15alvarez - Eget arbeid, (CC BY-SA 4,0) via Commons Wikimedia