Wird die Speicherbereinigung in der Programmiersprache zum Sammeln von Heapspeicher verwendet? [geschlossen]


1

Die Garbage Collection zum Recyceln von Objekten, die nicht mehr verwendet werden, dient zum Freigeben des Heapspeichers. Stellt ein Speicherverlust nicht genügend Heapspeicher dar, damit das Programm ausgeführt werden kann? Also, was wir normalerweise sagen "out of memory" bezieht sich auf "out of run time memory", was "heap memory" ist?

Antworten:


0

Die Speicherbereinigung bezieht sich in der Regel tatsächlich auf den Heapspeicher.

Beachten Sie, dass Speicherverluste und Speicherfehler nicht gleichbedeutend sind. Ein Speicherverlust ist eine Situation, in der ein Teil des zugewiesenen Speichers (z. B. ein Objekt in einer OO-Sprache) nicht mehr benötigt wird, aber aus irgendeinem Grund nicht freigegeben / gesammelt werden kann (z. B. der Programmierer hat vergessen, einen Verweis darauf zu löschen).
Möglicherweise liegt ein Speicherverlust vor, der nicht zu einem Fehler aufgrund unzureichenden Speichers führt (wenn der Fehler ausreichend klein ist), und Sie können einen solchen Fehler erhalten, ohne einen Speicherverlust zu haben (wenn Sie berechtigterweise versuchen, mehr Speicher zuzuweisen, als dem Prozess zur Verfügung stehen ).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.