Skillnad mellan kassera () och slutföra ()

Huvudskillnad - kassera () vs avsluta ()
 

De nyckelskillnad mellan kassera () och slutföra () är det kassera () måste uttryckligen åberopas av programmeraren medan slutförandet () påkallas av sopsamlare innan du förstör objektet.

Disponeringen () är en metod för att stänga eller släppa omanagda resurser som filer, strömmar som innehas av ett objekt. Slutförandet är en metod för att utföra renoperationer på omanagda resurser som hålls av det aktuella objektet innan objektet förstörs.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är bortskaffande ()
3. Vad slutfördes ()
4. Likheter mellan dispose () och slutföra ()
5. Side vid sida Jämförelse - kassera () vs slutföra () i tabellform
6. Sammanfattning

Vad är bortskaffande ()?

En av de viktigaste fördelarna med .NET-ramverket är att det ger automatisk skräpsamling. Det släpper automatiskt minnet av objekten som inte används. I programmeringsspråk som C och C ++, måste programmeraren hantera minneshantering på egen hand. Men på språk som C # som är byggt på. NET-ramverket ger skräpuppsamlaren. Det hjälper till att hantera minnet. Det kan inte användas för att släppa de omanagda minnesresurserna. Metoden Dispose () kan användas för att uppnå denna uppgift.

Metoden Dispose () kan användas för att släppa ut resurser som databasförbindelser, filhanterare etc. Denna metod kallas inte automatiskt. Därför bör programmeraren genomföra denna metod. Så snart denna metod är påkallad, frigörs minnet för den specifika omanagda resursen. Den här metoden är deklarerad i gränssnittet.

Vad slutfördes ()?

Den slutliga metoden kallas endast av sopsamlare när referensen till ett objekt inte används vidare. Denna metod kallas precis innan du förstör objektet. Denna metod implementeras med hjälp av destructorn. Den slutliga metoden definieras i klassen java.lang.object. Denna metod är deklarerad som skyddad. Det förklaras inte som offentligt för att undvika att komma åt de andra klasserna. Sammanfattningsvis kan den slutgiltiga metoden minimera programmets prestanda eftersom det inte frigör minnet direkt.

Vad är likheten mellan dispose () och finalisera ()?

  • Både kassera () och slutföra () kan användas för att frigöra minnet som tilldelats för en omanagd resurs.

Vad är skillnaden mellan bortskaffa () och slutföra ()?

kassera () vs slutföra ()

Disponeringen () är en metod för att stänga eller släppa omanagda resurser som filer, strömmar som innehas av ett objekt. Slutförandet är en metod för att utföra rena operationer på omanagda resurser som hålls av det aktuella objektet innan objektet förstörs.
 Mål
Disponeringsmetoden används för att frigöra de omanagda resurserna när den påkallas. Den slutgiltiga metoden används för att frigöra de omanagda resurserna innan objektet förstörs.
Definierat gränssnitt eller klass
Disponeringen () definieras i gränssnittet IDisposable gränssnitt. Slutförandet () definieras i klassen java.lang.object.
 Inbjudningsmetod
Disponeringsmetoden åberopas av programmeraren. Den slutgiltiga metoden åberopas av sopsamlare.
tillgång Specifier
Disponeringsmetoden är offentlig. Den slutgiltiga metoden är skyddad.
Fart
Disponeringsmetoden åberopas omedelbart. Den slutgiltiga metoden åberopas långsamt.
Prestanda
Disponeringen minskar inte programmets prestanda. Den slutgiltiga metoden kan minimera programmets prestanda.

Sammanfattning - kassera () vs avsluta ()

I denna artikel diskuterades skillnaden mellan kassera och slutföra metoder i C #. Skillnaden mellan kassera () och slutföra () är att bortskaffa () måste uttryckligen åberopas av programmeraren medan slutförandet () påkallas av sopsamlare innan man förstör objektet.

Referens:

1.Implementering Slutför och kassera för att rensa omanagda resurser. Tillgänglig här  
2.Sharma, Nitya. "Tillbaka till grunderna - Kassera Vs Finalize." C # Corner. Tillgänglig här  

Image Courtesy:

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