HeapAllokation
HeapAllokation bezeichnet die dynamische Zuweisung von Speicher während der Laufzeit eines Programms. Im Gegensatz zur Stack-Allokation, bei der Speicher automatisch mit dem Verlassen eines Funktionsrahmens freigegeben wird, erfolgt die Zuweisung aus dem Heap – einem allgemein zugänglichen Speicherbereich, dessen Lebensdauer vom Programm gesteuert wird. Der zugeordnete Speicher bleibt unabhängig vom Funktionscall gültig, bis er explizit freigegeben oder durch eine Laufzeitumgebung wieder freigegeben wird.
Die eigentliche Verwaltung des Heaps wird durch Laufzeitbibliotheken oder die Betriebssystemumgebung übernommen. In Sprachen wie C
Allokationsstrategien unterscheiden sich in Effizienz und Fragmentierung. Gängige Ansätze sind First-Fit, Best-Fit und Worst-Fit; fortgeschrittene Allokatoren
Leistung und Sicherheit hängen wesentlich von der Heap-Verwaltung ab. Hohe Latenz oder Locking-Kosten können Programmleistung einschränken.
Moderne Systeme verwenden oft benutzerdefinierte Allokatoren oder Arenen, um Speicherverwaltung zu spezialisieren (z. B. für kurze