Sobes.tech
Junior

Šta je stek i hrpa?

sobes.tech АИ

Одговор од АИ

  • Stek (Stack) - to je oblast memorije koja se koristi za skladištenje lokalnih promenljivih, parametara funkcija i adresa povratka tokom poziva funkcija.
    • Automatski se upravlja od strane kompajlera.
    • Pristup podacima je brz.
    • Veličina je fiksna tokom kompajliranja (ili se određuje prilikom poziva funkcije).
    • Podaci se dodaju i uklanjaju u LIFO (poslednji u, prvi van) redosledu.
  • Heap (Heap) - to je oblast memorije koja se koristi za dinamičku alokaciju memorije.
    • Rukovodi se ručno od strane programera (na primer, putem alloc, malloc ili semantike vlasništva u ARC/Swift).
    • Pristup podacima može biti sporiji zbog potrebe za traženjem slobodnih blokova memorije.
    • Veličina može da se menja tokom izvršavanja programa.
    • Podaci mogu biti dodavani ili uklanjani u bilo kom redosledu.
Svojstvo Stek Heap
Upravljanje Automatski (kompajler) Ručno/polukomandno (ARC)
Brzina pristupa Brza Potencijalno sporije
Veličina Fiksna/određena pri pozivu Promenljiva tokom izvršavanja
Redosled LIFO Arbitraran
Čuva Lokalni promenljive, parametri, adrese povratka Dinamički dodeljeni objekti