Verskil tussen vullisverwyderaar en vernietiger

INHOUDSOPGAWE:

Verskil tussen vullisverwyderaar en vernietiger
Verskil tussen vullisverwyderaar en vernietiger

Video: Verskil tussen vullisverwyderaar en vernietiger

Video: Verskil tussen vullisverwyderaar en vernietiger
Video: Wiskunde met LitNet: Graad 9, faktorisering - verskil in vierkante 2024, November
Anonim

Sleutelverskil – Vullisverwyderaar vs Destructor

Die meeste programmeertale ondersteun objekgeoriënteerde programmering. Dit is 'n metodologie om 'n program of sagteware met behulp van voorwerpe te bou. 'n Voorwerp word geskep deur 'n klas te gebruik, so dit is 'n voorbeeld van 'n klas. 'n Klas verskaf die beskrywing van waaruit die voorwerp moet bestaan. Wanneer voorwerpe geskep word, word geheue vir die voorwerpe toegeken. Die toegekende geheue moet aan die einde van die programuitvoering vrygestel word om daardie geheue vir 'n ander voorwerp te hergebruik. Programmeringstale soos Java en C. NET gebruik vullisversamelaars vir geheuebestuur terwyl tale soos C en C++ vereis dat die programmeerder geheuebestuur moet hanteer. Die nodige hoeveelheid geheue moet toegewys word, en aan die einde van die uitvoering moet die geheue vrygestel word. Die vullisverwyderaar en vernietiger word gebruik om geheue vry te stel. Die belangrikste verskil tussen die vullisverwyderaar en vernietiger is dat 'n vullisverwyderaar 'n sagteware is wat outomatiese geheuebestuur uitvoer terwyl 'n vernietiger 'n spesiale metode is wat deur die vullisverwyderaar genoem word tydens die vernietiging van die voorwerp.

Wat is 'n vullisverwyderaar?

Sommige programmeertale het bestuurde kode-omgewings. In programmeertale Java en C word outomatiese geheuebestuur uitgevoer. Die programmeerder hoef nie die geheue wat deur die voorwerpe gebruik word, vry te maak nie. Dit is makliker vir hulle om selfs komplekse stelsels te ontwikkel omdat die geheuebestuur outomaties gedoen word. In programmeertale soos C, C++ en Objective C, moet die program die geheue van die voorwerpe terug na die stelsel vrystel. Tale soos Java en C kan die voorwerpe uitvind wat nie meer gebruik word nie. Daarna stel hulle die geheue wat vir daardie voorwerpe toegeken is, terug na die stelsel.

In programmeertale C en Java, as daar 'n klas genaamd Student is, kan 'n objek geskep word deur Student s=new Student (); Die 'nuwe' word gebruik om 'n instansie van Studenteklas te skep. Dit ken geheue in die stelsel toe. Die 's' verwys na die geheueblok wat vir daardie voorwerp toegeken is. Die taalomgewings identifiseer of die voorwerpe gebruik word of nie. As hulle nie verder gebruik word nie, word die geheue vrygestel en kan dit later gebruik word.

Verskil tussen vullisverwyderaar en vernietiger
Verskil tussen vullisverwyderaar en vernietiger

Figuur 01: Vullisverwyderaar en vernietiger

Wanneer 'n program uitgevoer word, word die blokke geheue toegewys vanaf die stelselgeheuepoel. Dan voer die program die take uit deur daardie geheue te gebruik. Wanneer die programuitvoering verby is, vind die vullisverwyderaar uit of die toegewese blokke geheue vir die program noodsaaklik is of nie. As dit nie nodig is nie, word daardie geheueblokke na die stelsel teruggestuur. Dus, die vullisverwyderaar kan die geskepte voorwerpe in die program opspoor. Die geheueblokke wat nie meer benodig word nie, word teruggestuur na die stelselgeheuepoel. Die grootste voordeel van hierdie proses is om te bevestig dat die programmeerder nie op die geheuetoewysing hoef te konsentreer nie. Dit balanseer werkverrigting en geheuegebruik.

Wat is 'n vernietiger?

'n Vernietiger is 'n spesiale lidfunksie van 'n klas. Dit word opgeroep wanneer die voorwerp buite die bestek gaan. Die voorwerp kan vernietig word wanneer 'n funksie eindig of aan die einde van die programuitvoering. Die vernietiger het dieselfde naam as die klasnaam. Die konstruktor word gebruik om die voorwerp te skep. Dit kan parameters aanvaar. Die konstruktor kan ook terugkeerwaardes hê. Maar in 'n Destructor is daar geen terugkeer tipe of aanvaarding van parameters nie.'n Klas kan slegs uit een vernietiger bestaan. 'n Destruktor word verwys met die tilde-teken. As die klasnaam Student is, dan is die vernietiger ~Student () {}.

Die vullisverwyderaar soek die voorwerpe wat nie meer benodig word nie. Dit verseker dat die voorwerpe wat nie meer deur die program gebruik word nie, vernietig moet word. Dit roep die vernietiger om die geheue vry te stel en om die hulpbronne toe te ken. Destrukteurs is nuttig om geheue vry te stel, lêers toe te maak, netwerkhulpbronne vry te stel en om databasisverbindings te sluit. In die meeste programmeertale is dit nie nodig om die vernietiger te skryf nie, want die vullisverwyderaar noem die verstekkonstruktor op sy eie. As die programmeerder enige dinamiese geheuetoewysing gedoen het deur gebruik te maak van wysers in 'n taal soos C++, dan moet hy 'n vernietiger skryf om geheue vry te stel voordat die voorwerp vernietig word.

Wat is die ooreenkoms tussen vullisverwyderaar en vernietiger?

Beide vullisverwyderaar en vernietiger word gebruik om geheue vry te stel wat nie meer vir die program benodig word nie

Wat is die verskil tussen vullisverwyderaar en vernietiger?

Garbage Collector vs Destructor

'n Vullisverwyderaar is 'n sagteware wat outomatiese geheuebestuur uitvoer. 'n Vernietiger is 'n spesiale metode wat deur die vullisverwyderaar genoem word tydens die vernietiging van die voorwerp.
Tik
'n Vullisverwyderaar is 'n sagteware. 'n Vernietiger is 'n metode.

Opsomming – Vullisverwyderaar vs Destructor

Vuilverwyderaar en vernietiger is twee terme wat verband hou met die vrystelling van geheue. Hierdie artikel het die verskil tussen vullisverwyderaar en vernietiger bespreek. Die verskil tussen die vullisverwyderaar en vernietiger is dat 'n vullisverwyderaar 'n sagteware is wat outomatiese geheuebestuur uitvoer terwyl 'n vernietiger 'n spesiale metode is wat deur die vullisverwyderaar tydens die vernietiging van die voorwerp genoem word.

Laai die PDF af van Garbage Collector vs Destructor

Jy kan die PDF-weergawe van hierdie artikel aflaai en dit vir vanlyn doeleindes gebruik soos per aanhalingsnota. Laai asseblief die PDF-weergawe hier af: Difference Between Garbage Collector and Destructor

Aanbeveel: