Forskellen Mellem Bortskaffelse () Og Færdiggørelse ()

Indholdsfortegnelse:

Forskellen Mellem Bortskaffelse () Og Færdiggørelse ()
Forskellen Mellem Bortskaffelse () Og Færdiggørelse ()

Video: Forskellen Mellem Bortskaffelse () Og Færdiggørelse ()

Video: Forskellen Mellem Bortskaffelse () Og Færdiggørelse ()
Video: Social- og Sundhedsassistent 2024, Kan
Anonim

Nøgleforskel - bortskaff () vs færdiggør ()

Hovedforskellen mellem disponere () og finalisere () er, at disponere () skal påberåbes eksplicit af programmøren, mens finaliseringen () påberåbes af affaldssamleren, før objektet ødelægges.

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

INDHOLD

1. Oversigt og nøgleforskel

2. Hvad er bortskaffelse ()

3. Hvad er færdiggørelse ()

4. Ligheder mellem bortskaffelse () og færdiggørelse ()

5. Sammenligning side om side - bortskaffelse () vs afslutning () i tabelform

6. Resumé

Hvad er bortskaffelse ()?

En af de vigtigste fordele ved. NET framework er, at den leverer automatisk skraldopsamling. Det frigiver automatisk hukommelsen for de objekter, der ikke bruges. I programmeringssprog som C og C ++ skal programmøren håndtere hukommelsesstyring alene. Men på sprog som C #, der er bygget på. NET framework giver affaldssamleren. Det hjælper med at styre hukommelsen. Det kan ikke bruges til at frigøre de ikke-administrerede hukommelsesressourcer. Metoden disponere () kan bruges til at nå denne opgave.

Forskellen mellem bortskaffelse () og færdiggørelse ()
Forskellen mellem bortskaffelse () og færdiggørelse ()

Metoden disponere () kan bruges til at frigive ressourcer såsom databaseforbindelser, filhåndterere osv. Denne metode kaldes ikke automatisk. Derfor skal programmøren implementere denne metode. Så snart denne metode påberåbes, frigøres hukommelsen til den bestemte ikke-administrerede ressource. Denne metode er erklæret i grænsefladen IDisposeable.

Hvad er færdiggørelse ()?

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

Hvad er ligheden mellem disponere () og færdiggøre ()?

Både disponere () og finalisere () kan bruges til at frigøre den hukommelse, der er allokeret til en ikke-administreret ressource

Hvad er forskellen mellem disponere () og færdiggøre ()?

Diff artikel midt foran bordet

bortskaff () vs færdiggør ()

Dispose () er en metode til at lukke eller frigive ikke-administrerede ressourcer såsom filer, streams, der holdes af et objekt. Færdiggørelsen er en metode til at udføre oprydningsoperationer på ikke-administrerede ressourcer, der holdes 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. Finalis () er defineret i java.lang.object klasse.
Påkaldsmetode
Bortskaffelsesmetoden påberåbes af programmøren. Færdiggørelsesmetoden påberåbes af affaldssamleren.
Adgangsspecifikator
Bortskaffelsesmetoden er offentlig. Færdiggørelsesmetoden er beskyttet.
Hastighed
Bortskaffelsesmetoden påberåbes øjeblikkeligt. Finaliseringsmetoden påberåbes langsomt.
Ydeevne
Bortskaffelse minimerer ikke programmets ydeevne. Færdiggørelsesmetoden minimerer muligvis programmets ydeevne.

Resumé - bortskaff () vs færdiggør ()

Denne artikel diskuterede forskellen mellem bortskaffelses- og færdiggørelsesmetoder i C #. Forskellen mellem disponere () og færdiggøre () er, at disponere () skal påberåbes eksplicit af programmøren, mens finaliseringen () påberåbes af affaldssamleren, før objektet ødelægges.

Anbefalet: