Sobes.tech
Junior

Kas ir steks un krava?

sobes.tech AI

Atbilde no AI

  • Steks (Stack) - tā ir atmiņas zona, kas tiek izmantota vietējo mainīgo, funkciju parametru un atgriešanas adresu glabāšanai funkciju izsaukšanas laikā.
    • To automātiski pārvalda kompilators.
    • Pieeja datiem ir ātra.
    • Izmērs ir fiksēts kompilācijas laikā (vai tiek noteikts funkcijas izsaukšanas laikā).
    • Dati tiek pievienoti un noņemti LIFO (pēdējais ienāca, pirmais iznāca) secībā.
  • Heap (Haldma) - tā ir atmiņas zona, kas tiek izmantota dinamiskai atmiņas piešķiršanai.
    • To manuāli pārvalda izstrādātājs (piemēram, ar alloc, malloc vai īpašumtiesību semantiku ARC/Swift).
    • Pieeja datiem var būt lēnāka, jo ir jāmeklē brīvas atmiņas bloki.
    • Izmērs var mainīties programmas izpildes laikā.
    • Dati var tikt pievienoti vai noņemti jebkurā secībā.
Īpašība Steks Halde
Pārvaldība Automātiska (kompilators) Rūpīgi/pusautomātiski (ARC)
Piekļuves ātrums Ātrs Potenciāli lēnāks
Izmērs Fiksēts/definēts izsaukuma laikā Mainīgs izpildes laikā
Secība LIFO Nejauša
Glabāšana Vietējās mainīgās, parametri, atgriešanas adreses Dinamiski piešķirti objekti