首頁  >  文章  >  後端開發  >  PHP特點之垃圾回收機制1-​​引用計數的基本知識

PHP特點之垃圾回收機制1-​​引用計數的基本知識

黄舟
黄舟原創
2017-02-04 09:46:451263瀏覽

每個php變數存在一個叫做"zval"的變數容器中。一個zval變數容器,除了包含變數的類型和值,還包括兩個位元組的額外資訊。第一個是"is_ref",是個bool值,用來識別這個變數是否是屬於引用集合(reference set)。透過這個位元組,php引擎才能把普通變數和引用變數區分開來,由於php允許使用者透過使用&來使用自訂引用,zval變數容器中還有一個內部引用計數機制,來優化記憶體使用。第二個額外位元組是"refcount",用以表示指向這個zval變數容器的變數(也稱為符號即symbol)個數。所有的符號存在一個符號表中,其中每個符號都有作用域(scope),那些主腳本(例如:透過瀏覽器請求的的腳本)和每個函數或方法也都有作用域。
當一個變數被賦化常數值時,就會產生一個zval變數容器,如下例這樣:

Example #1 建立一個新的zval容器

<?php  
    $a = "new string";  
?>

以上就是PHP特徵之垃圾回收機

rrreee


以上就是PHP特徵之垃圾回收機制1— —引用計數的基本知識的內容,更多相關內容請關注PHP中文網(www.php.cn)! 🎜🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn