Forskel mellem bortskaffelse () og færdiggør ()

Nøgleforskel - bortskaffes () vs færdiggøre ()
 

Det vigtigste forskel mellem dispose () og finalize () er det dispose () skal påberåbes eksplicit af programmereren, mens finaliseringen () påberåbes af affaldsopsamleren, før objektet ødelægges.

Dispose () er en metode til at lukke eller frigive ikke-administrerede ressourcer, såsom filer, streams, der er i besiddelse af et objekt. Færdiggørelsen er en metode til at udføre oprydningsoperationer på ikke-administrerede ressourcer, der er i besiddelse af det aktuelle objekt, før objektet ødelægges.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er bortskaffelse ()
3. Hvad er færdigbehandlingen ()
4. Ligheder mellem bortskaffelse () og færdiggørelse ()
5. Sammenligning side ved side - bortskaffes () kontra færdiggør () i tabelform
6. Resume

Hvad er bortskaffelse ()?

En af de vigtigste fordele ved .NET-rammer er, at det giver automatisk indsamling af skrald. Det frigiver automatisk hukommelsen af ​​de objekter, der ikke bruges. I programmeringssprog som C og C ++ skal programmereren håndtere hukommelsesstyring alene. Men på sprog som C #, der er bygget på. NET-rammer, giver affaldsopsamleren. Det hjælper med at styre hukommelsen. Det kan ikke bruges til at frigive de ikke-styrede hukommelsesressourcer. Metoden dispose () kan bruges til at udføre denne opgave.

Metoden dispose () kan bruges til at frigive ressourcer som databaseforbindelser, filhåndterere osv. Denne metode kaldes ikke automatisk. Derfor bør programmereren implementere denne metode. Så snart denne metode er aktiveret, frigøres hukommelsen for den bestemte ikke-administrerede ressource. Denne metode er angivet i grænsefladen, der kan identificeres.

Hvad er færdigbehandlet ()?

Færdiggørelsesmetoden kaldes kun af affaldsopsamleren, når henvisningen til et objekt ikke bruges yderligere. Denne metode kaldes lige før objektet ødelægges. Denne metode implementeres ved hjælp af destruktoren. Finaliseringsmetoden er defineret i klassen java.lang.object. Denne metode er erklæret som beskyttet. Det erklæres ikke som offentligt at undgå adgang fra andre klasser. Samlet set kan færdiggørelsesmetoden minimere programmets ydeevne, fordi det ikke frigør hukommelsen med det samme.

Hvad er ligheden mellem bortskaffelse () og færdiggør ()?

  • Både dispose () og finalize () kan bruges til at frigøre hukommelsen, der er tildelt til en ikke-administreret ressource.

Hvad er forskellen mellem bortskaffelse () og færdiggør ()?

dispose () vs finalize ()

Dispose () er en metode til at lukke eller frigive ikke-administrerede ressourcer, såsom filer, streams, der er i besiddelse af et objekt. Færdiggørelsen er en metode til at udføre oprydningsoperationer på ikke-administrerede ressourcer, der er i besiddelse af det aktuelle objekt, før objektet ødelægges.
 Objektiv
Bortskaffelsesmetoden bruges til at frigøre de ikke-administrerede ressourcer, når den påberåbes. Finaliseringsmetoden bruges til at frigøre de ikke-administrerede ressourcer, før objektet ødelægges.
Defineret interface eller klasse
Dispose () er defineret i interface IDisposable interface. Færdiggørelsen () er defineret i klassen java.lang.object.
 Påkaldelsesmetode
Bortskaffelsesmetoden påberåbes af programmereren. Færdiggørelsesmetoden påberåbes af affaldssamleren.
Adgang Projekteringsvejledning
Bortskaffelsesmetoden er offentlig. Færdiggørelsesmetoden er beskyttet.
Hastighed
Bortskaffelsesmetoden aktiveres øjeblikkeligt. Den afsluttende metode kaldes langsomt.
Ydeevne
Bortskaffelsen minimerer ikke programmets ydelse. Finaliseringsmetoden kan muligvis minimere programmets ydeevne.

Resume - bortskaffes () vs færdiggøre ()

Denne artikel diskuterede forskellen mellem bortskaffelse og færdiggørelse af metoder i C #. Forskellen mellem bortskaffelse () og færdiggørelse () er, at bortskaffelse () skal eksplicit påberopes af programmereren, mens færdiggørelsen () påberåbes af affaldsopsamleren, før objektet ødelægges.

Reference:

1. Implementering Afslut og bortskaffes for at rydde op i uforvaltede ressourcer. Tilgængelig her  
2.Sharma, Nitya. "Tilbage til grundlæggende - Bortskaf kontra færdiggørelse." C # Hjørne. Tilgængelig her  

Billede høflighed:

1.'Csharp Logo'By Andres15alvarez - Eget arbejde, (CC BY-SA 4.0) via Commons Wikimedia