Junior — Middle
C# muhitida xotira qanday boshqariladi va tuziladi?
sobes.tech AI
AIdan javob
C# da xotira boshqaruvi avtomatik ravishda Garbage Collector (GC) yordamida amalga oshiriladi. Xotira ikki asosiy hududga bo'linadi:
- Stack (Stack) — lokal o'zgaruvchilar va metod parametrlarini saqlaydi. Xotira LIFO tamoyili bo'yicha juda tez ajratiladi va bo'shatiladi.
- Heap (Heap) — metod bajarilishidan uzoqroq yashovchi ob'ektlar va ma'lumotlarni saqlaydi. Heapdagi xotira garbage collector tomonidan boshqariladi.
Garbage collector vaqti-vaqti bilan ob'ektlar uchun ajratilgan xotirani bo'shatadi, ular uchun hech qanday referenslar qolmagan. Bu dasturchini xotirani qo'lda boshqarishdan ozod qiladi va xotira oqib ketish xavfini kamaytiradi.
Heapda ob'ekt yaratish misoli:
class Program
{
static void Main()
{
Person p = new Person(); // ob'ekt heapda yaratiladi
}
}
class Person
{
public string Name { get; set; }
}
Bu yerda, Person ob'ekti heapda yaratiladi, va p o'zgaruvchisi stackda joylashgan bo'lib, bu ob'ektga murojaat qiladi.