PHP ガベージ コレクション メカニズムについては、php5 以降でのみ実装されるものであるため、理解できるようになることを願っています。すべての生徒に役立ちます。
PHP 5.3 より前に使用されていたガベージ コレクション メカニズムは単純な「参照カウント」でした。つまり、各メモリ オブジェクトにカウンタが割り当てられ、メモリ オブジェクトが変数によって参照されると、カウンタは 1 になります。 ; 変数が参照された場合 削除後、カウンタは -1 になります; カウンタ = 0 の場合、メモリ オブジェクトは使用されておらず、メモリ オブジェクトが破棄され、ガベージ コレクションが完了したことを示します。
「参照カウント」には問題があります。つまり、2 つ以上のオブジェクトが相互に参照してリングを形成する場合、この時点ではメモリ オブジェクトのカウンタは 0 に減りません。このメモリ オブジェクトのグループはもう役に立ちませんが、リサイクルすることができないため、メモリ リークが発生します。
php5.3 以降、参照カウントに基づいた新しいガベージ コレクション メカニズムが使用されます。メモリ オブジェクト内の参照を検出してメモリ リークを回避します。