ホームページ >バックエンド開発 >PHPチュートリアル >PHP のガベージ コレクション メカニズムとは何ですか?
説明: PHP は、参照カウント (ガベージ コレクション) メカニズムを使用します。各オブジェクトには、参照がオブジェクトに接続されるたびに、参照カウンターが 1 ずつ増分されます。 NULL の場合、カウンターは 1 ずつデクリメントされます。オブジェクトの参照カウンタが 0 に達すると、PHP エンジンはそのオブジェクトが不要になったことを認識し、オブジェクトが占有しているメモリ領域を解放します。
操作はポインターですか?
いいえ、& 操作はポインターではなく参照ポインターを確立します。 UNIX ファイルのソフト リンクに似ています。
Unset() 操作と null 値の割り当て操作の違いは何ですか?
(a) Unset() は、この変数の参照を元々指していたメモリから切断するだけで、変数自体を未定義の null 参照にし、シンボル テーブル内のそのメモリの参照カウントを 1 つデクリメントします。このメモリを指す他の変数に影響を与えます。したがって、この unset() 変数を呼び出すときに通知が発行されます。 (何度も設定されていない変数の場合、初回のみ再生されます。)
(b)代入NULL操作はかなり激しく、変数の内部既存シンボルテーブルの参照数を直接減らすことになるので再利用しましたが、いつ再利用されたのかは不明。他の情報を保存するためにすぐに使用される場合もあれば、二度と使用されない場合もあります。しかし、何があっても、最初にそのメモリを指していたすべての変数は、再利用されたメモリに対して操作できなくなり、そのメモリを呼び出そうとした変数は null を返します。
シンボル テーブル内のメモリの参照カウントが 0 の場合にのみ、PHP エンジンはこのメモリを再利用します。