hmm: Memory Stack und Heap

Beitrag lesen

Stimmt das so?

Heap und Stack werden beim Start des Programms jedem Thread des Programms zugeordnet und sind Teil des virtuellen Speichers.

Stack:

  • die Belegung des Stacks wächst und schrumpft während des Programmablaufs, Stichwort Scope
  • der Stack hat eine feste Größe
  • ist etwas schneller als der Heap
  • wird eine Variable im scope initialisiert löscht sich diese beim verlassen des scopes wieder vom stack ohne dass man etwas dafür tun muss

Heap:

  • für jedes neue Objekt das zb mit new angelegt wird wird hier ein speicher reserviert
  • der heap hat eine variable größe
  • Objekte die im Heap liegen müssen explizite gelöscht werden