Sobes.tech
Junior — Middle

Оё метавонед фарқияти байни стек ва куча дар идораи хотира шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

ډنډه او هپ دوه بیلابیل د حافظې مدیریت لارې دي په C# او نورو ژبو کې.

ډنډه هغه سیمه ده چې پکې محلي متغیرونه او دندو زنګونه زیرمه کیږي. دا د LIFO (وروستی داخل، لومړی خارج) اصل پر بنسټ کار کوي. د ډنډې حافظه خورا ژر تخصیص او ازادېږي، په اوتومات ډول دندو ته د داخلیدو او وتلو پر مهال. خو، د ډنډې اندازه محدود ده او یوازې د ثابت اندازه معلومات ساتي.

هپ (heap) هغه سیمه ده چې د متحرک شیانو تخصیص لپاره کارول کیږي، لکه د کلاسانو نمونه. د هپ حافظه دستی (د new اپریټر له لارې) تخصیص کیږي او د کثافاتو راټولونکي (GC) لخوا اداره کیږي. هپ اجازه ورکوي چې د متغیر اندازه شیان او پیچلې جوړښتونه زیرمه کړي، خو د حافظې تخصیص او ازادول ډیر ورو دي.

مثال:

int x = 10; // متغیر x په ډنډه کې ساتل کیږي
MyClass obj = new MyClass(); // شی په هپ کې جوړ شوی، د obj ریفرنس په ډنډه کې ساتل کیږي

له همدې امله، ډنډه د چټک، موقتي معلوماتو لپاره ده، او هپ د اوږدمهاله شیانو لپاره.