Geheugenlek: verschil tussen versies

483 bytes toegevoegd ,  4 jaar geleden
geen bewerkingssamenvatting
k (Robot: Verplaatsing van 23 interwikilinks. Deze staan nu op Wikidata onder d:q751740)
In de [[informatica]] is een '''geheugenlek''' (Engels: memory leak) een onnodigeonnodig geheugenverbruikgeheugengebruik door een [[computerprogramma]]., Eenmet geheugenlek treedt opname wanneer eenhet computerprogramma niet meer gebruikte delen van het [[computergeheugen|geheugen]] niet vrijgeeft.
 
Een programma kan geheugen reserveren, dat het dan kan gebruiken om gegevens in op te slaan. Wanneer het programma het geheugen niet meer nodig heeft, moet het dit gereserveerde geheugen terugweer vrijgeven. Op die manier kan het door andere programma's opnieuw gebruikt worden.
 
Een programma dat veel geheugenlekken vertoont, zal hetreserveert steeds meer geheugen reserveren zonder het opnieuwweer vrij te geven. HetModerne isbesturingssystemen dankennen eenallemaal kwestie"[[virtueel vangeheugen]]" wachtenwaardoor totdatdit inniet hetmeteen bestefataal gevalis hetvoor een programma, inmaar er wel toe leidt dat de computer trager gaat werken. Uiteindelijk kan dan toch het slechtsteprogramma gevalof zelfs het hele systeem crashtcrashen.
 
De [[C++]] programmeertaal biedt de mogelijkheid objecten van "destructors" te voorzien, routines die worden aangeroepen zodra het object ophoudt te bestaan. In een destructor kan de gebruiker aangevraagd
In moderne [[programmeertaal|programmeertalen]] wordt vaak ''[[Garbage collection]]'' gebruikt om geheugenlekken te vermijden.
geheugen vrijgeven. Dit vraagt nog steeds aandacht van de gebruiker, maar zulke routines worden wel automatisch aangeroepen.
 
In moderne [[programmeertaal|programmeertalen]] als [[Jave]] wordt vaak ''[[Garbage collection]]'' gebruikt om geheugenlekken te vermijden.
 
==Zie ook==
1.417

bewerkingen