Diferența Dintre Colectorul De Gunoi și Destructor

Cuprins:

Diferența Dintre Colectorul De Gunoi și Destructor
Diferența Dintre Colectorul De Gunoi și Destructor

Video: Diferența Dintre Colectorul De Gunoi și Destructor

Video: Diferența Dintre Colectorul De Gunoi și Destructor
Video: Cum funcționează o fabrică de reciclare - CaseBune.ro 2024, Decembrie
Anonim

Diferența cheie - Garbage Collector vs Destructor

Majoritatea limbajelor de programare acceptă programarea orientată pe obiecte. Este o metodologie pentru a construi un program sau un software folosind obiecte. Un obiect este creat folosind o clasă, deci este o instanță a unei clase. O clasă oferă descrierea din ce ar trebui să constea obiectul. Când creați obiecte, memoria este alocată obiectelor. Memoria alocată ar trebui să fie eliberată la sfârșitul execuției programului pentru a reutiliza acea memorie pentru alt obiect. Limbaje de programare precum Java și C #. NET folosesc colectoare de gunoi pentru gestionarea memoriei, în timp ce limbaje precum C și C ++ necesită programatorului să gestioneze gestionarea memoriei. Ar trebui alocată cantitatea necesară de memorie, iar la sfârșitul execuției, memoria ar trebui eliberată. Colectorul de gunoi și distructorul sunt utilizate pentru eliberarea memoriei. Diferența cheie dintre colectorul de gunoi și distructor 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.

CUPRINS

1. Prezentare generală și diferența cheie

2. Ce este un colector de gunoi

3. Ce este un destructor

4. Asemănări între colectorul de deșeuri și destructor

5. Comparație cot la cot - Colector de gunoi vs distrugător în formă tabelară

6. Rezumat

Ce este un colector de gunoi?

Unele limbaje de programare au gestionat medii de cod. În limbajele de programare Java și C #, se efectuează gestionarea automată a memoriei. Programatorul nu trebuie să elibereze memoria utilizată de obiecte. Le este mai ușor să dezvolte chiar și sisteme complexe, deoarece gestionarea memoriei se face automat. În limbaje de programare precum C, C ++ și Objective C, programul ar trebui să elibereze memoria obiectelor înapoi în sistem. Limbi precum Java și C # pot da seama de obiectele care nu mai sunt folosite. Apoi, eliberează memoria alocată pentru acele obiecte înapoi în sistem.

În limbajele de programare C # și Java, dacă există o clasă numită Student, atunci un obiect poate fi creat folosind Student s = student nou (); „Nou” este folosit pentru a crea o instanță a clasei Student. Alocă memorie în sistem. „S” se referă la blocul de memorie alocat pentru acel obiect. Mediile lingvistice identifică dacă obiectele sunt utilizate sau nu. Dacă nu sunt utilizate în continuare, atunci memoria este eliberată și poate fi utilizată ulterior.

Diferența dintre Colectorul de gunoi și Destructor
Diferența dintre Colectorul de gunoi și Destructor

Figura 01: Colector și distrugător de gunoi

Când rulați un program, blocurile de memorie sunt alocate din piscina de memorie a sistemului. Apoi programul efectuează sarcinile folosind memoria respectivă. Când se termină execuția programului, colectorul de gunoi își dă seama dacă blocurile de memorie alocate pentru program sunt esențiale sau nu. Dacă nu sunt necesare, acele 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 în piscina de memorie a sistemului. Principalul avantaj al acestui proces este de a confirma faptul că programatorul nu trebuie să se concentreze asupra repartizării memoriei. Echilibrează performanța și utilizarea memoriei.

Ce este un Destructor?

Un destructor este o funcție de membru specială a unei clase. Este invocat ori de câte ori obiectul iese din scop. Obiectul poate fi distrus la sfârșitul unei funcții sau la sfârșitul execuției programului. Distructorul are același nume cu numele clasei. Constructorul este folosit pentru a crea obiectul. Poate accepta parametri. Constructorul poate avea și valori de returnare. Dar într-un Destructor, nu există un tip de returnare sau parametri de acceptare. O clasă poate consta doar dintr-un singur destructor. Un distructor este menționat folosind semnul tilde. Dacă numele clasei este Student, atunci distructorul este ~ Student () {}.

Colectorul de gunoi caută obiectele care nu mai sunt necesare. Se asigură că obiectele care nu mai sunt folosite de program ar trebui distruse. Îl cheamă pe destructor să elibereze memoria și să aloce resursele. Destructorii sunt utili pentru eliberarea memoriei, închiderea fișierelor, eliberarea resurselor de rețea și închiderea conexiunilor la baza de date. În majoritatea limbajelor de programare, nu este necesar să scrieți distructorul, deoarece colectorul de gunoi apelează singur constructorul implicit. Dacă programatorul a efectuat orice alocare de memorie dinamică folosind pointeri într-un limbaj precum C ++, atunci ar trebui să scrie un destructor pentru a elibera memoria înainte ca obiectul să fie distrus.

Care este asemănarea dintre Colectorul de gunoi și Destructor?

Atât Garbage Collector cât și Destructor sunt utilizate pentru a elibera memorie care nu mai este necesară pentru program

Care este diferența dintre Colectorul de gunoi și Destructor?

Difuzarea articolului din mijloc înainte de tabel

Garbage Collector vs Destructor

Un colector de gunoi este un software care efectuează gestionarea automată a memoriei. Un distructor 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 - Garbage Collector vs Destructor

Colectorul de gunoi și distructorul sunt doi termeni asociați cu eliberarea memoriei. Acest articol a discutat despre diferența dintre Colectorul de gunoi și distructor. Diferența dintre colectorul de gunoi și distructor este că un colector de gunoi este un software care realizează 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 o puteți folosi în scopuri offline conform notei de citare. Vă rugăm să descărcați versiunea PDF aici: Diferența dintre Colectorul de gunoi și Destructor

Recomandat: