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.