濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 簡單談?wù)凱HP的垃圾回收機(jī)制

簡單談?wù)凱HP的垃圾回收機(jī)制

熱門標(biāo)簽:電話機(jī)器人銷售主要負(fù)責(zé)什么 寧波外呼營銷系統(tǒng) 上海做外呼線路的通信公司 地圖標(biāo)注專員怎么樣 長沙做地圖標(biāo)注公司 房產(chǎn)中介用的是什么外呼系統(tǒng) 遼寧ai電銷機(jī)器人價(jià)格 四川保險(xiǎn)智能外呼系統(tǒng)供應(yīng)商 福建銀行智能外呼系統(tǒng)價(jià)格

1、每一個(gè)變量定義時(shí)都保存在一個(gè)叫zval的容器里面,這里面包含了數(shù)量的類型和和值,還包含了一個(gè)refcount(理解為存在幾個(gè)變量個(gè)數(shù))和is_ref(理解為是否為引用變量)兩個(gè)額外信息,當(dāng)變量被引用一次refcount就會(huì)+1,當(dāng)你unset一下之后這個(gè)值就會(huì)減1直到為0就會(huì)從內(nèi)存中刪除

2、定義一個(gè)變量的時(shí)候并不是每次都會(huì)擴(kuò)大預(yù)定于值,因?yàn)镻HP會(huì)在內(nèi)存中先預(yù)占用一個(gè)空間,等你聲明變量的時(shí)候就會(huì)分配給你,但是當(dāng)你超出這個(gè)預(yù)占用空間之后,那么它就會(huì)增加空間,但是等你刪除變量時(shí)候這個(gè)空間容量不會(huì)立即消失

3、變量的引用不會(huì)單獨(dú)的多增加內(nèi)存占用,它會(huì)指向zval結(jié)構(gòu)體,只是refcount+1

4、簡單說說,PHP的變量依賴于一個(gè)內(nèi)部實(shí)現(xiàn) symbol_table 符號(hào)表,而符號(hào)表的基礎(chǔ)實(shí)現(xiàn)是 HashTable ,也就是和PHP數(shù)組的基礎(chǔ)實(shí)現(xiàn)是一致的。真是因?yàn)榉?hào)表的存在,讓我們可以使用global標(biāo)記全局變量,用如compact等函數(shù)直接從當(dāng)前符號(hào)表中拉出變量出來。

那在談?wù)勵(lì)}主說的unset($a)會(huì)不會(huì)馬上釋放空間,答案是否定的,unset支持從符號(hào)表中把名字為a的這個(gè)元素刪掉了(只是標(biāo)記這塊空間又可用了,而不是釋放空間)。

再說循環(huán)中重復(fù)更新$key這種情況,因?yàn)楦碌氖窍嗤值淖兞?,所以在符?hào)表中他們是同一個(gè)元素,更新時(shí)就會(huì)更新相同的位置,之前元素的值就馬上被覆蓋了。

再說說申明了新的變量內(nèi)存就會(huì)增加這個(gè)問題,答案是不確定。這是符號(hào)表基于 HashTable 實(shí)現(xiàn)的特性所致, HashTable 并不是增加一個(gè)元素就申請(qǐng)一個(gè)元素的內(nèi)存,而是一次申請(qǐng)多個(gè)元素的內(nèi)存(只是這些位置標(biāo)記是未使用),而當(dāng) HashTable 被塞滿時(shí),再去申請(qǐng)新的多個(gè)元素的內(nèi)存。也就是說,當(dāng)我們申明或者賦值一個(gè)變量時(shí),如果它不在符號(hào)表中,PHP會(huì)將它加入到符號(hào)表里,而如果這時(shí)候符號(hào)表沒滿,那會(huì)采用符號(hào)表中已申請(qǐng)而未使用的內(nèi)存,如果符號(hào)表剛好的滿的,則會(huì)申請(qǐng)新的內(nèi)存出來存放,而新的內(nèi)存不僅僅只有這個(gè)變量需要的內(nèi)存這么小

您可能感興趣的文章:
  • PHP的垃圾回收機(jī)制代碼實(shí)例講解
  • PHP進(jìn)階學(xué)習(xí)之垃圾回收機(jī)制詳解
  • PHP析構(gòu)函數(shù)destruct與垃圾回收機(jī)制的講解
  • 解讀PHP中的垃圾回收機(jī)制
  • PHP垃圾回收機(jī)制講解

標(biāo)簽:延安 深圳 宜春 工商登記 宿遷 常德 澳門 佛山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《簡單談?wù)凱HP的垃圾回收機(jī)制》,本文關(guān)鍵詞  簡單,談?wù)?PHP,的,垃圾,回收,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《簡單談?wù)凱HP的垃圾回收機(jī)制》相關(guān)的同類信息!
  • 本頁收集關(guān)于簡單談?wù)凱HP的垃圾回收機(jī)制的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    昌江| 内丘县| 顺平县| 淮安市| 邵武市| 乌拉特中旗| 葫芦岛市| 穆棱市| 五莲县| 安乡县| 玛纳斯县| 宿州市| 白朗县| 宜阳县| 尼勒克县| 炎陵县| 东城区| 兴隆县| 石家庄市| 济宁市| 乌兰县| 阿瓦提县| 乌兰浩特市| 沾化县| 舒城县| 新乐市| 侯马市| 泊头市| 肇东市| 隆化县| 甘孜县| 曲阜市| 台南市| 乐山市| 宁海县| 青海省| 来宾市| 英超| 丰顺县| 大姚县| 庆阳市|