【PHP】ガベージコレクション

  • 投稿者:
  • 投稿カテゴリー:未分類

参照カウンタを使用し、copy-on-write(書き込み時にはじめてコピーする)方式のメモリ管理を採用している

$color = array(red,white,black);
シンボルテーブルに記載される
シンボルテーブル:変数名とメモリ内での変数の値の位置を管理するテーブル

$color2 = $color; // 配列はコピーされない
$color2[1] = green; // 変更のときにPHPが新たにメモリを確保しコピーを作成することによってメモリと時間を節約する

シンボルテーブルは参照カウンタを持っている
$day = array(Mon,Tue,Wed); // $dayの値のメモリの位置の参照カウンタは1
$day2 = $day; // $dayの値のメモリの位置の参照カウンタは2
$day2[1] = Sat; // それぞれの参照カウンタは1
参照カウンタが0となった時点で、メモリは解放される