Junior — Middle
Оё метавонед фарқияти байни стек ва куча дар идораи хотира шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
ډنډه او هپ دوه بیلابیل د حافظې مدیریت لارې دي په C# او نورو ژبو کې.
ډنډه هغه سیمه ده چې پکې محلي متغیرونه او دندو زنګونه زیرمه کیږي. دا د LIFO (وروستی داخل، لومړی خارج) اصل پر بنسټ کار کوي. د ډنډې حافظه خورا ژر تخصیص او ازادېږي، په اوتومات ډول دندو ته د داخلیدو او وتلو پر مهال. خو، د ډنډې اندازه محدود ده او یوازې د ثابت اندازه معلومات ساتي.
هپ (heap) هغه سیمه ده چې د متحرک شیانو تخصیص لپاره کارول کیږي، لکه د کلاسانو نمونه. د هپ حافظه دستی (د new اپریټر له لارې) تخصیص کیږي او د کثافاتو راټولونکي (GC) لخوا اداره کیږي. هپ اجازه ورکوي چې د متغیر اندازه شیان او پیچلې جوړښتونه زیرمه کړي، خو د حافظې تخصیص او ازادول ډیر ورو دي.
مثال:
int x = 10; // متغیر x په ډنډه کې ساتل کیږي
MyClass obj = new MyClass(); // شی په هپ کې جوړ شوی، د obj ریفرنس په ډنډه کې ساتل کیږي
له همدې امله، ډنډه د چټک، موقتي معلوماتو لپاره ده، او هپ د اوږدمهاله شیانو لپاره.