ホームページ  >  記事  >  バックエンド開発  >  PHPのガベージコレクションメカニズムの理解

PHPのガベージコレクションメカニズムの理解

巴扎黑
巴扎黑オリジナル
2016-11-11 10:01:50906ブラウズ

PHP ガベージ コレクション メカニズムは php5 以降でのみ利用可能です。PHP ガベージ コレクション メカニズムについて少しご紹介します。これがすべての学生に役立つことを願っています。

PHP 5.3 より前に使用されていたガベージ コレクション メカニズムは単純な「参照カウント」です。つまり、各メモリ オブジェクトにカウンタが割り当てられます。メモリ オブジェクトが変数によって参照されている場合、変数参照が削除されるとカウンタは 1 になります。 、カウンタ -1 ; カウンタ = 0 の場合、メモリ オブジェクトが使用されていないこと、メモリ オブジェクトが破棄されてガベージ コレクションが完了したことを示します。

「参照カウント」の問題は、2 つ以上のオブジェクトが相互に参照してリングを形成する場合、その時点でメモリ オブジェクトのカウンタが 0 に減らず、このメモリ オブジェクトのグループが存在しなくなることです。便利ですが、リサイクルできないため、メモリ リークが発生します。

php5.3 以降、参照カウントに基づいて、メモリ オブジェクト内の参照リングの存在を検出するための複雑なアルゴリズムが使用されています。メモリリークを避けるため。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。