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,mallocili 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.
- Rukovodi se ručno od strane programera (na primer, putem
| 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 |