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.
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
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.
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.
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. |
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.
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
1.'Csharp Logo'By Andres15alvarez - Eget arbejde, (CC BY-SA 4.0) via Commons Wikimedia