Sobes.tech
Junior — Middle

Kako se upravlja i strukturiše memorija u C# okruženju?

sobes.tech АИ

Одговор од АИ

U C# upravljanje memorijom se obavlja automatski pomoću sakupljača smeća (Garbage Collector, GC). Memorija je podeljena na dve glavne oblasti:

  • Stek (Stack) — čuva lokalne promenljive i parametre metoda. Memorija se dodeljuje i oslobađa vrlo brzo prema principu LIFO.
  • Heap (Heap) — čuva objekte i podatke koji traju duže od vremena izvršavanja metode. Memorija na heap-u se upravlja od strane sakupljača smeća.

Sakupljač smeća periodično oslobađa memoriju zauzetu od strane objekata na koje više nema referenci. Ovo olakšava programeru ručno upravljanje memorijom i smanjuje rizik od curenja memorije.

Primer kreiranja objekta na heap-u:

class Program
{
    static void Main()
    {
        Person p = new Person(); // objekat se kreira na heap-u
    }
}

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