ホームページ  >  記事  >  バックエンド開発  >  PHPのメモリ管理のガベージコレクションの仕組みを詳しく解説(写真)

PHPのメモリ管理のガベージコレクションの仕組みを詳しく解説(写真)

黄舟
黄舟オリジナル
2017-03-20 10:04:403177ブラウズ

php 変数は、変数の型と値に加えて、コンテナには、reference

に属しているかどうかの is_ref も含まれます。1 つを割り当てる際には、refcount 参照カウントも含まれます。変数を別の変数に設定すると、変数の参照数が増加します。変数が設定解除されるかスコープを離れると、参照カウントが 1 ずつ減ります。参照カウントが 0 に減少すると、メモリがリサイクルされます。しかし、そのようなメカニズムでは、

参照を

ループするときにメモリリークが発生します。

例:

配列

自体を配列要素とみなすと、次の図が表示されます:

PHPのメモリ管理のガベージコレクションの仕組みを詳しく解説(写真)配列aが設定されていない場合、次の画像が表示されます:

PHPのメモリ管理のガベージコレクションの仕組みを詳しく解説(写真)メモリが不足している問題リサイクルできません。

この問題を解決するために、php5.3 以降に導入された gc メカニズムは、ルートバッファを確立し、そのバッファに疑わしい zval 変数コンテナを追加することです。デフォルトは 1000 です。満杯の場合はリサイクルされます。 消去のためのアルゴリズムメカニズム。

以上がPHPのメモリ管理のガベージコレクションの仕組みを詳しく解説(写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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