Heim  >  Artikel  >  Backend-Entwicklung  >  Verständnis des PHP-Garbage-Collection-Mechanismus

Verständnis des PHP-Garbage-Collection-Mechanismus

巴扎黑
巴扎黑Original
2016-11-11 10:01:50946Durchsuche

Der PHP-Garbage-Collection-Mechanismus existierte erst nach PHP5. Ich hoffe, er wird allen Schülern hilfreich sein.

Der vor PHP 5.3 verwendete Garbage-Collection-Mechanismus ist eine einfache „Referenzzählung“, das heißt, jedem Speicherobjekt wird ein Zähler zugewiesen, wenn das Speicherobjekt von einer Variablen referenziert wird Variablenreferenz wird entfernt, Zähler -1; wenn Zähler = 0, bedeutet dies, dass das Speicherobjekt nicht verwendet wird, das Speicherobjekt zerstört wird und die Speicherbereinigung abgeschlossen ist.

Es gibt ein Problem mit der „Referenzzählung“, das heißt, wenn zwei oder mehr Objekte aufeinander verweisen, um einen Ring zu bilden, wird der Zähler des Speicherobjekts zu diesem Zeitpunkt nicht auf 0 reduziert. Diese Gruppe von Speicherobjekten ist nicht mehr nützlich, kann aber nicht recycelt werden, was zu Speicherlecks führt.

Ab PHP 5.3 wird ein neuer Garbage Collection-Mechanismus verwendet, der auf der Referenzzählung basiert um Referenzen in Speicherobjekten zu erkennen, um Speicherlecks zu vermeiden.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn