Sobes.tech
Junior

Mi az a verem és a halom?

sobes.tech MI

Válasz az MI-től

  • Verem (Stack) - ez egy memória terület, amit a függvényhívások során használnak helyi változók, függvényparaméterek és visszatérési címek tárolására.
    • Automatikusan kezeli a fordító.
    • Az adatokhoz való hozzáférés gyors.
    • A méret a fordítás során fix (vagy a függvényhíváskor határozható meg).
    • Az adatok LIFO (utolsó be, első ki) sorrendben kerülnek hozzáadásra és eltávolításra.
  • Heap (Kupac) - ez egy memória terület, amit dinamikus memóriafoglalásra használnak.
    • Kézzel kezelik a fejlesztők (pl. alloc, malloc vagy az ARC/Swift tulajdonságértelmezése révén).
    • Az adatokhoz való hozzáférés lassabb lehet, mert keresni kell a szabad memória blokkokat.
    • A méret futás közben változhat.
    • Az adatok tetszőleges sorrendben hozzáadhatók vagy eltávolíthatók.
Tulajdonság Verem Kupac
Kezelés Automatikus (fordító) Kézi/fél-automatikus (ARC)
Hozzáférési sebesség Gyors Potenciálisan lassabb
Méret Fix/függvényhíváskor meghatározott Változó futás közben
Sorrend LIFO Véletlenszerű
Tárolás Helyi változók, paraméterek, visszatérési címek Dinamikusan foglalt objektumok