PHP的GC機制-創(chuàng)新互聯(lián)

就是垃圾回收器,全稱Garbage Collection。

閬中網(wǎng)站建設公司創(chuàng)新互聯(lián)公司,閬中網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為閬中近1000家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的閬中做網(wǎng)站的公司定做!
  1. php中垃圾是如何定義的?
    準確地說,判斷是否為垃圾,主要看有沒有變量名指向變量容器zval,如果沒有則認為是垃圾,需要釋放。

  2. 5.3版本以后php是如何處理垃圾內(nèi)存的?
    判斷處理過程
    .如果一個zval的refcount增加,那么此zval還在使用,不屬于垃圾
    .如果一個zval的refcount減少到0, 那么zval可以被釋放掉,不屬于垃圾
    .如果一個zval的refcount減少之后大于0,那么此zval還不能被釋放,此zval可能成為一個垃圾
    就是對此zval中的每個元素進行一次refcount減1操作,操作完成之后,如果zval的refcount=0,那么這個zval就是一個垃圾

  3. 對于一個包含環(huán)形引用的數(shù)組,對數(shù)組中包含的每個元素的zval進行減1操作,之后如果發(fā)現(xiàn)數(shù)組自身的zval的refcount變成了0,那么可以判斷這個數(shù)組是一個垃圾

  4. 優(yōu)化配置:會有一個緩沖區(qū)的概念,等緩沖區(qū)滿了才會一次性去給清掉。緩沖區(qū)默認可以放10,000個節(jié)點,當緩沖區(qū)滿了才會清理。

  5. php.ini中設置 zend.enable_gc 項來開啟或則關閉GC。gc_enable() : 開啟GC gc_disable() : 關閉GC
    gc_collect_cycles() : 在節(jié)點緩沖區(qū)未滿的情況下強制執(zhí)行垃圾分析算法

  6. 涉及到垃圾回收的知識點
    .unset只是斷開一個變量到一塊內(nèi)存區(qū)域的連接,同時將該內(nèi)存區(qū)域的引用計數(shù)-1;內(nèi)存是否回收主要還是看refount是否到0了,以及gc算法判斷
    .a=null是直接將a 指向的數(shù)據(jù)結構置空,同時將其引用計數(shù)歸0
    .腳本執(zhí)行結束,該腳本中使用的所有內(nèi)存都會被釋放,不論是否有引用環(huán)

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章名稱:PHP的GC機制-創(chuàng)新互聯(lián)
文章路徑:http://www.muchs.cn/article10/dssddo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、動態(tài)網(wǎng)站ChatGPT、自適應網(wǎng)站網(wǎng)站收錄、網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管