Dallimi midis mbledhësit të mbeturinave dhe shkatërruesit

Përmbajtje:

Dallimi midis mbledhësit të mbeturinave dhe shkatërruesit
Dallimi midis mbledhësit të mbeturinave dhe shkatërruesit

Video: Dallimi midis mbledhësit të mbeturinave dhe shkatërruesit

Video: Dallimi midis mbledhësit të mbeturinave dhe shkatërruesit
Video: E Diela Shqiptare – “Pak Vëmendje” – Mbledhësit dhe transportuesit e mbeturinave (26 Shkurt 2023) 2024, Nëntor
Anonim

Dallimi kryesor – Mbledhësi i mbeturinave kundër shkatërruesit

Shumica e gjuhëve të programimit mbështesin programimin e orientuar drejt objekteve. Është një metodologji për të ndërtuar një program ose një softuer duke përdorur objekte. Një objekt krijohet duke përdorur një klasë, pra është një shembull i një klase. Një klasë ofron përshkrimin se nga çfarë duhet të përbëhet objekti. Kur krijohen objekte, memoria ndahet për objektet. Memoria e alokuar duhet të lirohet në fund të ekzekutimit të programit për ta ripërdorur atë memorie për ndonjë objekt tjetër. Gjuhët e programimit si Java dhe C. NET përdorin grumbulluesit e mbeturinave për menaxhimin e kujtesës ndërsa gjuhët si C dhe C++ kërkojnë që programuesi të merret me menaxhimin e memories. Duhet të ndahet sasia e nevojshme e memories, dhe në fund të ekzekutimit, memoria duhet të lirohet. Mbledhësi i mbeturinave dhe destruktori përdoren për lirimin e kujtesës. Dallimi kryesor midis grumbulluesit të mbeturinave dhe shkatërruesit është se një grumbullues mbeturinash është një softuer që kryen menaxhimin automatik të kujtesës ndërsa një destruktor është një metodë e veçantë e quajtur nga mbledhësi i plehrave gjatë shkatërrimit të objektit.

Çfarë është mbledhësi i mbeturinave?

Disa gjuhë programimi kanë menaxhuar mjedise kodi. Në gjuhët e programimit Java dhe C, kryhet menaxhimi automatik i kujtesës. Programuesi nuk ka nevojë të çlirojë memorien e përdorur nga objektet. Është më e lehtë për ta që të zhvillojnë edhe sisteme komplekse sepse menaxhimi i kujtesës bëhet automatikisht. Në gjuhët e programimit të tilla si C, C++ dhe Objektivi C, programi duhet të lëshojë kujtesën e objekteve përsëri në sistem. Gjuhë të tilla si Java dhe C mund të kuptojnë objektet që nuk përdoren më. Më pas, ata lëshojnë kujtesën e alokuar për ato objekte përsëri në sistem.

Në gjuhët e programimit C dhe Java, nëse ekziston një klasë e quajtur Student, atëherë një objekt mund të krijohet duke përdorur Student s=New Student (); "i ri" përdoret për të krijuar një shembull të klasës Student. Ai shpërndan memorie në sistem. "S" i referohet bllokut të memories të alokuar për atë objekt. Mjediset gjuhësore identifikojnë nëse objektet po përdoren apo jo. Nëse nuk përdoren më tej, atëherë memoria lirohet dhe mund të përdoret më vonë.

Dallimi midis mbledhësit të mbeturinave dhe shkatërruesit
Dallimi midis mbledhësit të mbeturinave dhe shkatërruesit

Figura 01: Mbledhësi dhe shkatërruesi i mbeturinave

Kur ekzekutoni një program, blloqet e memories ndahen nga grupi i memories së sistemit. Pastaj programi kryen detyrat duke përdorur atë memorie. Kur ekzekutimi i programit përfundon, mbledhësi i mbeturinave zbulon nëse blloqet e memories së caktuar për programin janë thelbësore apo jo. Nëse nuk kërkohen, ato blloqe memorie kthehen në sistem. Pra, mbledhësi i mbeturinave mund të gjurmojë objektet e krijuara në program. Blloqet e memories që nuk kërkohen më dërgohen përsëri në grupin e memories së sistemit. Avantazhi kryesor i këtij procesi është të konfirmojë se programuesi nuk duhet të përqendrohet në ndarjen e memories. Balancon performancën dhe përdorimin e kujtesës.

Çfarë është një shkatërrues?

Një shkatërrues është një funksion i veçantë anëtar i një klase. Ai thirret sa herë që objekti del jashtë fushëveprimit. Objekti mund të shkatërrohet kur përfundon një funksion ose në fund të ekzekutimit të programit. Destruktori ka të njëjtin emër me emrin e klasës. Konstruktori përdoret për të krijuar objektin. Mund të pranojë parametra. Konstruktori mund të ketë edhe vlera kthyese. Por në një Destructor, nuk ka lloj kthimi ose parametra pranues. Një klasë mund të përbëhet vetëm nga një destruktor. Një destruktor referohet duke përdorur shenjën e tildës. Nëse emri i klasës është Student, atëherë destruktori është ~Student () {}.

Mbledhësi i plehrave kërkon objektet që nuk kërkohen më. Siguron që objektet që nuk përdoren më nga programi duhet të shkatërrohen. Ai thërret destruktorin të lëshojë kujtesën dhe të shpërndajë burimet. Destruktorët janë të dobishëm për lirimin e memories, mbylljen e skedarëve, lirimin e burimeve të rrjetit dhe mbylljen e lidhjeve të bazës së të dhënave. Në shumicën e gjuhëve programuese, nuk është e nevojshme të shkruani destruktorin sepse mbledhësi i mbeturinave thërret vetë konstruktorin e paracaktuar. Nëse programuesi ka bërë ndonjë ndarje dinamike të memories duke përdorur tregues në një gjuhë si C++, atëherë ai duhet të shkruajë një destruktor për të lëshuar memorien përpara se objekti të shkatërrohet.

Cila është ngjashmëria midis grumbulluesit të mbeturinave dhe shkatërruesit?

Të dy Garbage Collector dhe Destructor përdoren për të lëshuar memorie e cila nuk kërkohet më për programin

Cili është ndryshimi midis grumbulluesit të mbeturinave dhe shkatërruesit?

Mbledhësi i mbeturinave kundër shkatërruesit

Një mbledhës mbeturinash është një softuer që kryen menaxhimin automatik të kujtesës. Një shkatërrues është një metodë e veçantë e quajtur nga mbledhësi i plehrave gjatë shkatërrimit të objektit.
Lloji
Një mbledhës plehrash është një softuer. Një shkatërrues është një metodë.

Përmbledhje – Mbledhësi i mbeturinave kundër shkatërruesit

Grumbullues i mbeturinave dhe shkatërrues janë dy terma që lidhen me çlirimin e kujtesës. Ky artikull diskutoi ndryshimin midis Mbledhësit të Plehrave dhe Destruktorit. Dallimi midis grumbulluesit të mbeturinave dhe destruktorit është se mbledhësi i mbeturinave është një softuer që kryen menaxhimin automatik të kujtesës ndërsa një destruktor është një metodë e veçantë e quajtur nga mbledhësi i mbeturinave gjatë shkatërrimit të objektit.

Shkarkoni PDF-në e Mbledhësve të mbeturinave vs Destructor

Mund ta shkarkoni versionin PDF të këtij artikulli dhe ta përdorni për qëllime jashtë linje sipas shënimit të citimit. Ju lutemi shkarkoni versionin PDF këtu: Diferenca midis mbledhësit të mbeturinave dhe shkatërruesit

Recommended: