როგორ მუშაობს გარბიჯის კოლექციონერი და რა მეხსიერების სფეროებს წმენდს: heap თუ stack?
sobes.tech AI
პასუხი AI-სგან
Go-யில் குப்பை சேகரிப்பான் (Garbage Collector) நிரலின் மூலம் இனி பயன்படுத்தப்படாத நினைவகத்தை தானாக விடுவிக்கிறது. இது டைனமிக் வகையில் ஒதுக்கப்பட்ட பொருட்கள் உள்ள heap நினைவகப் பகுதியுடன் பணியாற்றுகிறது.
Stack (stack) என்பது உள்ளூர் மாறிகள் மற்றும் செயல்பாட்டு அழைப்புகளுக்கான நினைவக பகுதி, இது செயல்பாடுகளில் நுழையும் மற்றும் வெளியேறும் போது தானாக நிர்வகிக்கப்படுகிறது; குப்பை சேகரிப்பான் அதை சுத்தம் செய்யாது.
Go-யில் குப்பை சேகரிப்பான் இயங்கும் விதம், அடைவதற்கான அல்காரிதம் அடிப்படையிலானது: இது மூல புள்ளிகளிலிருந்து (stack, உலகளாவிய மாறிகள்) அணுகக்கூடிய அனைத்து பொருட்களையும் கண்டுபிடித்து, எந்தவொரு குறிப்பு இல்லாதவற்றை நீக்குகிறது.
இதனால், heap-ஐ சுத்தம் செய்யும் குப்பை சேகரிப்பான், மற்றும் stack-ஐ அழைக்கும் முறைமை நிர்வகிக்கிறது மற்றும் தானாக விடுவிக்கப்படுகிறது.