Home

Laufzeitstrukturen

Laufzeitstrukturen, oft auch Laufzeit- oder Run-time-Strukturen genannt, sind die Strukturen und Mechanismen, die während der Ausführung eines Programms im Speicher vorhanden sind oder dynamisch erzeugt werden. Sie unterscheiden sich von Compile-Time-Strukturen, die vor der Ausführung festgelegt werden.

Zu den zentralen Laufzeitstrukturen gehören Speicherschichten wie Stack und Heap, sowie der Laufzeitumgebungsrahmen einer virtuellen Maschine

Darüber hinaus existieren Laufzeitmetadaten und Typinformationen, die zur Typprüfung, zur dynamischen Bindung und zur Reflection verwendet

Moderne Laufzeitumgebungen umfassen oft weitere Bausteine wie Just-In-Time-Compiler, Code Cache, Interpreter-Schichten, Threads und Thread-Local Storage sowie

Beispiele: Die Java Virtual Machine (JVM) und der .NET Common Language Runtime (CLR) stellen umfassende Laufzeitstrukturen

Die Laufzeitstruktur beeinflusst Leistung, Speicherbedarf und Fehlertoleranz eines Programms. Debugging und Optimierung betreffen oft Stack-Layout, Heap-Allokation,

oder
eines
Interpreters.
Der
Stack
verwaltet
Aktivierungsrahmen
bei
Funktionsaufrufen;
der
Heap
dient
der
dynamischen
Zuweisung
von
Objekten.
Zusätzlich
können
Speicherverwaltungsdienste
wie
Garbage
Collection
oder
Referenzzählung
laufen,
um
Speicher
freizugeben.
werden.
In
vielen
Sprachen
werden
Klassen-
oder
Typinformationen,
Methoden-Dispatch-Tabellen
und
Loader-Komponenten
als
Laufzeitinfrastruktur
bereitgestellt.
Sicherheits-
bzw.
Sandbox-Dienste.
bereit,
während
Umgebungen
wie
CPython
oder
JavaScript-Engines
eine
Mischung
aus
Interpreter-
und
JIT-Techniken
nutzen.
Garbage-Collection-Verhalten
und
Typauflösung.