Skirtumas tarp šiukšlių surinkėjo ir naikintojo

Pagrindinis skirtumas - šiukšlių surinkėjas prieš Naikintojas
 

Dauguma programavimo kalbų palaiko objektyvų programavimą. Tai metodika programos ar programinės įrangos kūrimui naudojant objektus. Objektas yra sukurtas naudojant klasę, taigi tai yra klasės egzempliorius. Klasėje pateikiamas aprašymas, ką turi sudaryti objektas. Kuriant objektus, objektams skiriama atmintis. Paskirta atmintis turėtų būti paleista pasibaigus programos vykdymui, kad ją būtų galima panaudoti kitam objektui. Programavimo kalbos, tokios kaip Java ir C # .NET, atminties tvarkymui naudoja šiukšlių rinktuvus, o tokios kalbos kaip C ir C ++ reikalauja, kad programuotojas tvarkytų atmintį. Reikėtų skirti reikiamą atminties kiekį, o vykdymo pabaigoje ji turėtų būti atlaisvinta. Šiukšlių surinkėjas ir naikintojas naudojami atminčiai atlaisvinti. pagrindinis skirtumas tarp šiukšlių surinkėjo ir naikintojo yra tai šiukšlių surinkėjas yra programinė įranga, vykdanti automatinį atminties valdymą, o naikintojas yra specialus metodas, kurį šaukia šiukšlių surinkėjas sunaikindamas objektą.

TURINYS

1. Apžvalga ir svarbiausias skirtumas
2. Kas yra šiukšlių surinkėjas
3. Kas yra naikintojas
4. Šiukšlių rinkėjo ir naikintojo panašumai
5. Šalutinis palyginimas - šiukšlių surinkėjas ir sunaikintojas lentelės pavidalu
6. Santrauka

Kas yra šiukšlių surinkėjas?

Kai kurios programavimo kalbos tvarko kodų aplinkas. Programavimo kalbomis „Java“ ir „C #“ atliekamas automatinis atminties valdymas. Programuotojui nereikia atlaisvinti atminties, kurią naudoja objektai. Jiems lengviau sukurti net sudėtingas sistemas, nes atminties valdymas atliekamas automatiškai. Programavimo kalbomis, tokiomis kaip C, C ++ ir Objective C, programa turėtų išlaisvinti objektų atmintį atgal į sistemą. Kalbos, tokios kaip „Java“ ir „C #“, gali išsiaiškinti nebenaudojamus objektus. Vėliau jie atleidžia atmintį, skirtą tiems objektams, atgal į sistemą.

Programavimo kalbose C # ir „Java“, jei yra klasė, vadinama „Studentas“, tada objektą galima sukurti naudojant „Student s“ = naujas mokinys (); „Naujas“ naudojamas studentų klasės egzemplioriui sukurti. Jis paskirsto atmintį sistemoje. „S“ reiškia atminties bloką, skirtą tam objektui. Kalbos aplinka nustato, ar objektai yra naudojami, ar ne. Jei jie nebenaudojami toliau, atmintis atleidžiama ir gali būti naudojama vėliau.

01 paveikslas: Šiukšlių surinkėjas ir naikintojas

Vykdant programą atminties blokai paskirstomi iš sistemos atminties fondo. Tada programa vykdo užduotis naudodama tą atmintį. Kai programa vykdoma, šiukšlių surinkėjas išsiaiškina, ar programai skirti atminties blokai yra būtini, ar ne. Jei jų nereikia, tie atminties blokai grąžinami į sistemą. Taigi, šiukšlių surinkėjas gali sekti sukurtus objektus programoje. Nereikalingi atminties blokai siunčiami atgal į sistemos atminties fondą. Pagrindinis šio proceso pranašumas yra patvirtinti, kad programuotojui nereikia susikoncentruoti į atminties paskirstymą. Tai subalansuoja našumą ir atminties naudojimą.

Kas yra naikintojas?

Naikintojas yra ypatinga klasės nario funkcija. Jis iškviečiamas, kai objektas išeina iš taikymo srities. Objektą galima sunaikinti pasibaigus funkcijai arba pasibaigus programos vykdymui. Naikintojas turi tą patį vardą kaip ir klasės pavadinimas. Objektui sukurti naudojamas konstruktorius. Jis gali priimti parametrus. Konstruktorius taip pat gali turėti grąžinimo reikšmes. Tačiau naikintojuose nėra grąžinimo tipo ar priimtinų parametrų. Klasę gali sudaryti tik vienas naikintojas. Naikintojas nurodomas naudojant tildės ženklą. Jei klasės pavadinimas yra Studentas, tada griautojas yra ~ Studentas () .

Šiukšlių surinkėjas ieško nebereikalingų daiktų. Tai užtikrina, kad objektai, kurių nebenaudoja programa, turėtų būti sunaikinti. Jis ragina naikintoją išlaisvinti atmintį ir paskirstyti išteklius. Naikintojai naudingi norint atlaisvinti atmintį, uždaryti failus, išlaisvinti tinklo išteklius ir uždaryti duomenų bazių ryšius. Daugeliu programavimo kalbų nereikia rašyti naikintojo, nes šiukšlių surinkėjas pats vadina numatytuoju konstruktoriumi. Jei programuotojas atliko bet kokią dinaminę atminties paskirstymą naudodamas rodykles tokia kalba kaip C ++, tada jis turėtų parašyti naikintojui, kad atlaisvintų atmintį prieš sunaikinant objektą..

Koks yra šiukšlių surinkėjo ir naikintojo panašumas?

  • Šiukšlių surinkėjas ir naikintojas naudojami atlaisvinti atmintį, kurios nebereikia programai.

Kuo skiriasi šiukšlių surinkėjas ir naikintojas??

Šiukšlių surinkėjas vs naikintojas

Šiukšlių surinkėjas yra programinė įranga, vykdanti automatinį atminties valdymą. Naikintojas yra specialus metodas, kurį kviečia šiukšlių surinkėjas sunaikinant daiktą.
 Tipas
Šiukšlių surinkėjas yra programinė įranga. Naikintojas yra metodas.

Santrauka - Šiukšlių surinkėjas prieš Naikintojas

Šiukšlių surinkėjas ir naikintojas yra dvi sąvokos, susijusios su atminties išlaisvinimu. Šiame straipsnyje buvo aptartas skirtumas tarp šiukšlių surinkėjo ir naikintojo. Skirtumas tarp šiukšlių surinkėjo ir naikintojo yra tas, kad šiukšlių surinkėjas yra programinė įranga, kuri vykdo automatinį atminties valdymą, o naikintojas yra specialus metodas, kurį šiukšlių surinkėjas vadina sunaikindamas objektą..

Atsisiųskite šiukšlių surinkėjo ir naikintojo PDF

Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia: Šiukšlių surinkėjo ir naikintojo skirtumas

Nuoroda:

1.lyndapodcast. „Kaip veikia C # šiukšlių rinkimas | lynda. Komunikacijos pamoka. “ Kaip veikia C # šiukšlių rinkimas Lynda.Com vadovėlis, „LinkedIn“ mokymosi sprendimai, 2011 m. rugsėjo 19 d. Galima rasti čia 
2.Dstruktoriai C “. GeeksforGeeks, 2017 m. Gegužės 27 d. Galima rasti čia  
3.Jainas, Shubhamas. „Šiukšlių surinkėjas ir naikintojas C #“. C # kampas. Galima rasti čia