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