Skip to main content

Was ist die dynamische Speicherzuweisung?

Dynamische Speicherzuweisung, auch heap-basierte Speicherzuordnung genannt, ist eine Art von Speicherverwaltung, die durch statische Speicherzuweisung stark kontrastiert wird.In der dynamischen Speicherzuweisung teilt der Programmierer dem Computer genau mit, wie viel Speicher für jedes Programm zugewiesen werden soll und wie lange er an den Speicher festhält.Dies löst viele der Probleme, die in der statischen Speicherzuweisung auftreten, wie z.Während es viele Probleme löst, kann der dynamische Speicher zu einem Problem werden.Dies bedeutet, dass der Speicher an Programmen festhält, wenn sie verwendet werden, auch wenn das Programm nicht mehr verwendet wird oder wenn das gehaltene Gedächtnis gefährlich oder ein Hindernis für die Leistung ist.Wenn der Benutzer beispielsweise ein Programm mit dem Ausführen eines Programms mit 2 Megabyte (MB) auf einem 3 -MB -Gerät einnimmt und ein zweites Programm weitere 2 MB benötigt, funktioniert das zweite Programm nicht.Dies liegt daranDer Speicher zur Freilassung von Ressourcen.Aus diesem Grund verwenden erweiterte Benutzer häufig die dynamische Speicherzuweisung.Der Programmierer kann alles über den Speicher steuern, einschließlich wie lange er an Ressourcen festhält.

Zum Beispiel kann der Programmierer die dynamische Speicherzuweisung festlegen, die nur 1 MB oder weniger festhält, was genügend Systemspeicher spart, um andere andere zu ermöglichenProgramme zu öffnen.Dies kann geschehen, da der statische Speicher normalerweise alles am Programm hält, während der dynamische Speicher es den Programmierern ermöglicht, ihn auf einen niedrigeren Wert zu setzen, der einige Daten enthält, aber nicht alles.Gleichzeitig wird ein statisches Gedächtnis benötigt und kann in diesem Allokationsschema festgelegt werden.

Ein potenzielles Problem mit der dynamischen Speicherzuweisung mdash;eine, die selten ins Spiel kommt mdash;ist, dass der dynamische Speicher ausgefüllt wird, wenn der Programmierer vergisst, einen Zeitwert festzulegen.Wenn kein Zeitwert festgelegt ist, hält der dynamische Speicher im Gegensatz zum statischen Speicher, der letztendlich den Speicher freigibt, die Informationen.Wenn das Programm über eine Mülldeponienanwendung verfügt und die meisten dies tun, wird es nach einer bestimmten Zeit aktiviert, um den Speicher zu löschen.Es ist immer noch Best Practice, einen Zeitwert für die Speicherzuweisung festzulegen.