Sobes.tech
Junior — Middle

Ինչպես է կառավարվում և կառուցվում հիշողությունը C# միջավայրում?

sobes.tech AI

Պատասխան AI-ից

C#-ում հիշողության կառավարումը ավտոմատ կերպով կատարվում է Garbage Collector (GC)-ի միջոցով: Հիշողությունը բաժանվում է երկու հիմնական տարածքների՝

  • Stack (Stack) — պահպանում է տեղական փոփոխականները և մեթոդների պարամետրերը: Հիշողությունը շատ արագ է տրամադրվում և ազատվում ըստ LIFO սկզբունքի:
  • Heap (Heap) — պահպանում է օբյեկտները և տվյալները, որոնք ապրում են երկար ժամանակ, քան մեթոդի գործարկման ժամանակը: Heap-ի հիշողությունը կառավարում է Garbage Collector-ը:

Garbage Collector-ը ժամանակ առ ժամանակ ազատում է այն հիշողությունը, որը զբաղեցրած է օբյեկտներով, որոնց համար այլ հղումներ չկան: Սա հեշտացնում է ծրագրավորողին հիշողության կառավարմանը և նվազեցնում է լիքերի ռիսկը:

Օրինակ՝ օբյեկտ ստեղծելը heap-ում:

class Program
{
    static void Main()
    {
        Person p = new Person(); // օբյեկտը ստեղծվում է heap-ում
    }
}

class Person
{
    public string Name { get; set; }
}