麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

php中的引用以及垃圾回收的分析

2020-03-22 20:20:26
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于php中的引用以及垃圾回收的分析,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

每個html' target='_blank'>php變量存在一個叫 zval 的變量容器中。一個zval變量容器,除了包含變量的類型和值,還包括兩個字節的額外信息。第一個是 is_ref ,是個bool值,用來標識這個變量是否是屬于引用集合(reference set)。通過這個字節,php引擎才能把普通變量和引用變量區分開來,由于php允許用戶通過使用 來使用自定義引用,zval變量容器中還有一個內部引用計數機制,來優化內存使用。第二個額外字節是 refcount ,用以表示指向這個zval變量容器的變量(也稱符號即symbol)個數。所有的符號存在一個符號表中,其中每個符號都有作用域(scope),那些主腳本(比如:通過瀏覽器請求的的腳本)和每個函數或者方法也都有作用域。

//php中對象為引用傳遞

is_ref = 0, refcount = 0 zval容器會在腳本執行結束時被銷毀

引用官方的例子

 ?php$a = array( one $a[] = $a;xdebug_debug_zval( a 
a: (refcount=2, is_ref=1)=array ( 0 = (refcount=1, is_ref=0)= one , 1 = (refcount=2, is_ref=1)=...)

自引用(curcular reference,自己是自己的一個元素)的數組的zval

執行unset$a 會釋放變量與zval的內存關聯 但是閉環自己內部仍存在

(refcount=1, is_ref=1)=array ( 0 = (refcount=1, is_ref=0)= one , 1 = (refcount=1, is_ref=1)=...)

Zvals after removal of array with a circular reference demonstrating the memory leak

但是此時 沒有變量 能操作到 zval 容器 時間上此時 已經成為了內存垃圾 確無法釋放

回收機制:簡單來說 就是執行完腳本后 對仍存在的變量 進行 整體數據全部refcount -1 如果減為0 則判定為垃圾 進行內存容器銷毀

相關推薦:

PHP的垃圾回收機制 可回收垃圾有哪些 垃圾回收 不可回收垃

PHP垃圾回收機制—引用計數的基本知識

以上就是php中的引用以及垃圾回收的分析的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91精品久久久久久久久网影视 | 一级一级一级一级毛片 | 成人免费网站在线观看 | 日韩999| 亚洲男人的天堂在线视频 | 欧美三级美国一级 | 国产一区在线视频观看 | 欧美a级大胆视频 | 成人福利视频网站 | 茄子福利视频 | 少妇一级淫片免费放正片 | 国产精品视频一区二区三区四区五区 | 国产精品久久国产精品 | 中文字幕在线观看精品 | 久久久成人精品视频 | 特级黄aaaaaaaaa毛片 | 羞羞草视频 | 91小视频在线观看免费版高清 | 国产精品一区在线免费观看 | 亚洲成在人 | 国产精品探花在线观看 | 欧美一级做 | 亚洲日韩精品欧美一区二区 | 黄色免费入口 | 国产流白浆高潮在线观看 | 亚洲成人涩涩 | 久草在线新时代视觉 | 黄色免费大片 | 一区二区三区日韩电影 | 99精品在线免费 | 亚洲一级片免费观看 | 久久国产秒 | 免费a视频 | 免费毛片随便看 | 一区二区三级视频 | 沉沦的校花奴性郑依婷c到失禁 | 久久99精品久久久久久秒播蜜臀 | 精品久久久久久久久中文字幕 | 一边吃奶一边摸下娇喘 | 亚洲国产成人一区 | av免费不卡国产观看 |