Skip to main content

Wat is dynamische geheugentoewijzing?

Dynamische geheugentoewijzing, ook wel op HEAP gebaseerde geheugentoewijzing genoemd, is een type geheugenbeheer dat scherp wordt contrasterd door statische geheugentoewijzing.In dynamische geheugentoewijzing vertelt de programmeur de computer precies hoeveel geheugen hij voor elk programma moet toewijzen en hoe lang hij het geheugen moet vasthouden.Dit lost veel van de problemen op die zich voordoen bij de statische geheugentoewijzing, zoals overmatig gebruik van geheugen en vastgelopen programma's.Hoewel het veel problemen oplost, als de programmeur vergeet het geheugen te vertellen om te dumpen, kan het dynamische geheugen een probleem worden.

Computers gebruiken standaard statische geheugentoewijzing.Dit betekent dat het geheugen programma's vasthoudt wanneer ze worden gebruikt, zelfs als het programma niet langer wordt gebruikt of als het vastgehouden geheugen gevaarlijk wordt of een obstakel voor prestaties.Als de gebruiker bijvoorbeeld stopt met het uitvoeren van een programma dat 2 megabytes (MB) op een machine van 3 MB neemt en een tweede programma nog een 2 MB nodig heeft, werkt het tweede programma niet.Dit komt omdat er niet genoeg geheugen over is in de computer voor het andere programma.

Met statische geheugentoewijzing kan de gebruiker of programmeur niet de hoeveelheid geheugen opgeven die hij of zij wil hebben opgeslagen, noch kan de programmeur het statische geheugen vertellen om te dumpen om te dumpenhet geheugen om bronnen vrij te maken.Dit is de reden waarom geavanceerde gebruikers vaak dynamische geheugentoewijzing gebruiken.programma's om te openen.Dit kan worden gedaan omdat het statische geheugen meestal alles aan het programma vasthoudt, terwijl dynamisch geheugen programmeurs in staat stelt het in te stellen tegen een lagere waarde die sommige gegevens bevat, maar niet alles.Tegelijkertijd zal statisch geheugen nog steeds nodig zijn en kan het worden ingesteld in dit toewijzingsschema.

Een potentieel probleem met dynamische geheugentoewijzing mdash;een die zelden in het spel komt mdash;is dat het dynamische geheugen kan vullen als de programmeur vergeet een tijdwaarde in te stellen.Als er geen tijdwaarde wordt ingesteld, in tegenstelling tot statisch geheugen dat uiteindelijk het geheugen zal vrijgeven, houdt Dynamic Memory de informatie vast.Als het programma een afvalstortingstoepassing heeft, en de meeste doen het, wordt het na een bepaalde tijd geactiveerd om het geheugen te wissen.Het is nog steeds de beste praktijk om een tijdwaarde in te stellen voor de geheugenallocatie.