Diferența dintre colectorul de gunoi și distrugătorul

Diferența cheie - colector de gunoi vs distrugător
 

Majoritatea limbajelor de programare suportă programarea orientată pe obiecte. Este o metodologie pentru a construi un program sau un software care utilizează obiecte. Un obiect este creat folosind o clasă, deci este o instanță a unei clase. O clasă oferă descrierea a ceea ce ar trebui să constituie obiectul. La crearea obiectelor, memoria este alocată obiectelor. Memoria alocată trebuie eliberată la sfârșitul execuției programului pentru a reutiliza memoria respectivă pentru un alt obiect. Limbile de programare, cum ar fi Java și C # .NET, utilizează colectori de gunoi pentru gestionarea memoriei, în timp ce limbi precum C și C ++ necesită programatorul să gestioneze gestionarea memoriei. Este necesar să se aloce cantitatea necesară de memorie, iar la sfârșitul execuției, memoria să fie eliberată. Colectorul de gunoi și distrugătorul sunt folosite pentru eliberarea memoriei. diferența cheie între colectorul de gunoi și distrugator este asta un colector de gunoi este un software care efectuează gestionarea automată a memoriei, în timp ce un destructor este o metodă specială numită de colectorul de gunoi în timpul distrugerii obiectului.

CUPRINS

1. Prezentare generală și diferență cheie
2. Ce este un colector de gunoi
3. Ce este un distructor
4. Asemănări dintre colectorul de gunoi și distrugătorul
5. Comparație comparați între ele - Colector de gunoi vs Distructor în formă tabulară
6. rezumat

Ce este un colector de gunoi?

Unele limbi de programare au gestionat medii de cod. În limbile de programare Java și C #, gestionarea automată a memoriei este efectuată. Programatorul nu are nevoie să elibereze memoria utilizată de obiecte. Este mai ușor pentru ei să dezvolte sisteme chiar complexe, deoarece gestionarea memoriei se face automat. În limbile de programare, cum ar fi C, C ++ și Obiectiv C, programul ar trebui să elibereze memoria obiectelor înapoi în sistem. Limbi precum Java și C # pot găsi obiectele care nu mai sunt utilizate. Ulterior, ei eliberează memoria alocată pentru acele obiecte înapoi în sistem.

În limbile de programare C # și Java, dacă există o clasă numită Student, atunci un obiect poate fi creat utilizând Student s = new Student (); "Nou" este folosit pentru a crea o instanță a clasei Student. Alocă memoria în sistem. "S" se referă la blocul de memorie alocat acelui obiect. Mediile lingvistice identifică dacă obiectele sunt folosite sau nu. Dacă acestea nu sunt utilizate în continuare, atunci memoria este eliberată și poate fi utilizată ulterior.

Figura 01: Colector de gunoi și distrugător

La rularea unui program, blocurile de memorie sunt alocate din fondul de memorie de sistem. Apoi programul îndeplinește sarcinile utilizând memoria respectivă. După terminarea execuției programului, colectorul de gunoi arată dacă blocurile de memorie alocate pentru program sunt esențiale sau nu. Dacă nu sunt necesare, aceste blocuri de memorie sunt returnate sistemului. Deci, colectorul de gunoi poate urmări obiectele create în program. Blocurile de memorie care nu mai sunt necesare sunt trimise înapoi la fondul de memorie al sistemului. Principalul avantaj al acestui proces este acela de a confirma faptul că programatorul nu trebuie să se concentreze pe delactarea memoriei. Acesta echilibrează performanța și utilizarea memoriei.

Ce este un distructor?

Un destructor este o funcție specială a membrilor unei clase. Se invocă ori de câte ori obiectul iese din domeniul de aplicare. Obiectul poate fi distrus când se termină o funcție sau la sfârșitul executării programului. Distrugătorul are același nume cu numele clasei. Constructorul este folosit pentru a crea obiectul. Poate accepta parametrii. Constructorul poate avea și valori returnate. Dar într-un Distructor, nu există nici un tip de returnare sau acceptarea parametrilor. O clasă poate consta doar într-un singur distrugător. Un destructor este referit folosind semnul tilde. Dacă numele clasei este Student, atunci distrugătorul este ~ Student () .

Colectorul de gunoi caută obiectele care nu mai sunt necesare. Se asigură distrugerea obiectelor care nu mai sunt utilizate de program. Chemă distrugătorul să elibereze memoria și să aloce resursele. Distructorii sunt utili pentru a elibera memoria, a închide fișierele, a elibera resursele de rețea și pentru a închide conexiunile bazei de date. În majoritatea limbajelor de programare, nu este necesar să se scrie destructorul, deoarece colectorul de gunoi numește constructorul implicit pe cont propriu. Dacă programatorul a făcut orice alocare dinamică a memoriei folosind indicii într-o limbă ca C ++, atunci ar trebui să scrie un destructor pentru a elibera memoria înainte ca obiectul să fie distrus.

Care este asemănarea dintre colector de gunoi și distrugător?

  • Ambele colectoare de gunoi și distructor sunt utilizate pentru a elibera memoria care nu mai este necesară pentru program.

Care este diferența dintre colectorul de gunoi și distrugătorul?

Colector de gunoi vs Distructor

Un colector de gunoi este un software care efectuează gestionarea automată a memoriei. Un destructor este o metodă specială numită de colectorul de gunoi în timpul distrugerii obiectului.
 Tip
Un colector de gunoi este un software. Un destructor este o metodă.

rezumat - Colector de gunoi vs distrugător

Colectorul de gunoi și distrugătorul sunt doi termeni asociați cu eliberarea memoriei. Acest articol a discutat diferența dintre Colectorul de gunoi și distrugătorul. Diferența dintre colectorul de gunoi și distrugătorul este că un colector de gunoi este un software care efectuează gestionarea automată a memoriei, în timp ce un destructor este o metodă specială numită de colectorul de gunoi în timpul distrugerii obiectului.

Descărcați PDF-ul Garbage Collector vs Destructor

Puteți descărca versiunea PDF a acestui articol și îl puteți utiliza în scopuri offline conform notei de citare. Descărcați versiunea PDF aici: Diferența dintre colectorul de gunoi și distrugătorul

Referinţă:

1.lyndapodcast. Cum funcționează colecția de gunoi C # Lynda. Cum funcționează colecția de gunoi C # Lynda.Com tutorial, LinkedIn Learning Solutions, 19 septembrie 2011. Disponibil aici 
2.Destructori în C. "GeeksforGeeks, 27 mai 2017. Disponibil aici  
3.Jain, Shubham. "Colector de gunoi și distrugător în C #". Disponibil aici