Sobes.tech
Junior — Middle

Mennyi terület van kijelölve a dinamik memóriaelosztásra a program futása során?

sobes.tech MI

Válasz az MI-től

C# program futtatása közben a dinamikus memória a kezelt heap-en (managed heap) kerül lefoglalásra. Ez a heap egyetlen memória területet jelent, ahol az new operátorral létrehozott objektumok helyezkednek el.

Vagyis, egyetlen terület van kijelölve a dinamikus memóriaelosztásra — a kezelt heap, amelyet a CLR (Common Language Runtime) futtatókörnyezet kezel. A szemétgyűjtő automatikusan felszabadítja a nem használt memóriát ezen a területen.

Példa egy objektum létrehozására a heap-en:

class Program
{
    static void Main()
    {
        var obj = new MyClass(); // memória a kezelt heap-en kerül lefoglalásra
    }
}

class MyClass
{
    public int Value;
}