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; }
}