成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

PHP內(nèi)存釋放以及垃圾回收的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“PHP內(nèi)存釋放以及垃圾回收的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“PHP內(nèi)存釋放以及垃圾回收的示例分析”這篇文章吧。

我們注重客戶提出的每個要求,我們充分考慮每一個細節(jié),我們積極的做好網(wǎng)站設(shè)計、成都網(wǎng)站制作服務(wù),我們努力開拓更好的視野,通過不懈的努力,成都創(chuàng)新互聯(lián)贏得了業(yè)內(nèi)的良好聲譽,這一切,也不斷的激勵著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計,成都小程序開發(fā),網(wǎng)站開發(fā),技術(shù)開發(fā)實力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術(shù)開發(fā)工程師。

引用賦值

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

上述代碼中,我將一個字符串賦值給變量a,然后將a的引用賦值給了變量b。顯然,這個時候的內(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' 這個字符串從內(nèi)存中釋放掉。我是這么做的:

unset($a);

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

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

'apple' <- $b

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

直接回收


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

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

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

$a = null;

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

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


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

以上是“PHP內(nèi)存釋放以及垃圾回收的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞名稱:PHP內(nèi)存釋放以及垃圾回收的示例分析-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://jinyejixie.com/article2/dpsdoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)頁設(shè)計公司、外貿(mào)建站、企業(yè)建站外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站維護

廣告

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

小程序開發(fā)
达州市| 金寨县| 普陀区| 龙川县| 新干县| 洛宁县| 响水县| 西丰县| 民乐县| 新余市| 广水市| 阿拉善盟| 无棣县| 许昌市| 鞍山市| 延安市| 广州市| 资溪县| 石景山区| 宜兰市| 临澧县| 车致| 大田县| 延长县| 曲沃县| 依安县| 泌阳县| 恭城| 金湖县| 百色市| 德江县| 塔城市| 靖边县| 疏附县| 洪雅县| 皋兰县| 宣汉县| 潮州市| 洞头县| 澄城县| 亳州市|