濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 總結(jié)PHP內(nèi)存釋放以及垃圾回收

總結(jié)PHP內(nèi)存釋放以及垃圾回收

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

引用賦值

$a = 'apple';
$b = $a;

上述代碼中,我將一個(gè)字符串賦值給變量a,然后將a的引用賦值給了變量b。顯然,這個(gè)時(shí)候的內(nèi)存指向應(yīng)該是這樣的:

$a -> 'apple' - $b

a和b指向了同一塊內(nèi)存區(qū)域,我們通過 var_dump($a, $b) 得到 string(5) "apple" string(5) "apple" ,這是我們預(yù)期的結(jié)果。

unset 函數(shù)

假如我想將 'apple' 這個(gè)字符串從內(nèi)存中釋放掉。我是這么做的:

unset($a);

但是通過再次打印 $a $b 兩變量的信息,我得到了這樣的結(jié)果:Notice: Undefined variable: a 和 string(5) "apple" 。奇怪,$a $b 同時(shí)指向一塊內(nèi)存區(qū)域,又明明將$a釋放了,為什么$b還是'apple'。

其實(shí)是這樣的,unset()這是將一個(gè)變量指針銷毀了,并沒有釋放掉那塊內(nèi)存區(qū)域中存放的字符串,所以執(zhí)行完操作之后,內(nèi)存指向只是變成了這樣:

'apple' - $b

要牢記重點(diǎn): unset()并沒有釋放變量所指向的那塊內(nèi)存,而只是將變量指針銷毀了。同時(shí),將那塊內(nèi)存的 引用計(jì)數(shù) 減1,當(dāng)引用計(jì)數(shù)為0時(shí),也就是說當(dāng)那塊內(nèi)存不被任何變量引用時(shí),便會(huì)觸發(fā)php的垃圾回收。

直接回收

那要怎樣做才能真正釋放掉 'apple' 所占用的內(nèi)存呢?

利用上述方法,我們可以在 unset($a) 之后再 unset($b) ,將內(nèi)存區(qū)域的所有引用都銷毀,引用計(jì)數(shù)減為0了,自然就被php回收了。

當(dāng)然,還有更直接的方法:

$a = null;

直接賦值 null 會(huì)將將 $a 所指向的內(nèi)存區(qū)域置空,并將引用計(jì)數(shù)歸零,內(nèi)存便被釋放。

腳本執(zhí)行結(jié)束

php是腳本語(yǔ)言,當(dāng)腳本執(zhí)行結(jié)束之后,腳本內(nèi)使用的所有內(nèi)存都會(huì)被釋放。

您可能感興趣的文章:
  • PHP session垃圾回收機(jī)制實(shí)例分析
  • PHP進(jìn)階學(xué)習(xí)之垃圾回收機(jī)制詳解
  • PHP析構(gòu)函數(shù)destruct與垃圾回收機(jī)制的講解
  • 掌握PHP垃圾回收機(jī)制詳解
  • php中session垃圾回收機(jī)制
  • 簡(jiǎn)單談?wù)凱HP的垃圾回收機(jī)制
  • 深入解析PHP垃圾回收機(jī)制對(duì)內(nèi)存泄露的處理
  • PHP5.3的垃圾回收機(jī)制(動(dòng)態(tài)存儲(chǔ)分配方案)深入理解
  • 分析PHP的垃圾回收機(jī)制

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《總結(jié)PHP內(nèi)存釋放以及垃圾回收》,本文關(guān)鍵詞  總結(jié),PHP,內(nèi)存,釋放,以及,;如發(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)文章
  • 下面列出與本文章《總結(jié)PHP內(nèi)存釋放以及垃圾回收》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于總結(jié)PHP內(nèi)存釋放以及垃圾回收的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    上栗县| 瑞丽市| 绍兴县| 类乌齐县| 洞头县| 龙游县| 绩溪县| 沙坪坝区| 合阳县| 乌拉特后旗| 古田县| 石屏县| 咸宁市| 革吉县| 潍坊市| 永平县| 芦溪县| 阿克陶县| 弋阳县| 甘洛县| 张家港市| 汝州市| 苍溪县| 习水县| 东兴市| 通河县| 抚顺市| 南涧| 和田市| 富平县| 镇宁| 黑龙江省| 许昌县| 青铜峡市| 宁晋县| 通渭县| 北辰区| 甘泉县| 宁海县| 海南省| 庄浪县|