国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - php引用計(jì)數(shù)器進(jìn)行垃圾收集機(jī)制介紹

php引用計(jì)數(shù)器進(jìn)行垃圾收集機(jī)制介紹

2020-01-12 17:41PHP教程網(wǎng) PHP教程

每一種計(jì)算機(jī)語言都有自己的自動(dòng)垃圾回收機(jī)制,讓程序員不必過分關(guān)心程序內(nèi)存分配,php也不例外,但是在面向?qū)ο缶幊?OOP)編程中,有些對(duì)象需要顯式的銷毀;防止程序執(zhí)行內(nèi)存溢出

PHP 有一個(gè)非常簡(jiǎn)單的垃圾收集器,它實(shí)際上將對(duì)不再位于內(nèi)存范圍(scope)中的對(duì)象進(jìn)行垃圾收集。垃圾收集的內(nèi)部方式是使用一個(gè)引用計(jì)數(shù)器,因此當(dāng)計(jì)數(shù)器達(dá)到 0 時(shí)(意味著對(duì)該對(duì)象的引用都不可用),對(duì)象將被當(dāng)作垃圾收集并從內(nèi)存中刪除。 

每一種計(jì)算機(jī)語言都有自己的自動(dòng)垃圾回收機(jī)制,讓程序員不必過分關(guān)心程序內(nèi)存分配,php也不例外,但是在面向?qū)ο缶幊?OOP)編程中,有些對(duì)象需要顯式的銷毀;防止程序執(zhí)行內(nèi)存溢出。 

一、PHP 垃圾回收機(jī)制(Garbage Collector 簡(jiǎn)稱GC) 

在PHP中,沒有任何變量指向這個(gè)對(duì)象時(shí),這個(gè)對(duì)象就成為垃圾。PHP會(huì)將其在內(nèi)存中銷毀;這是PHP的GC垃圾處理機(jī)制,防止內(nèi)存溢出。 

當(dāng)一個(gè)PHP線程結(jié)束時(shí),當(dāng)前占用的所有內(nèi)存空間都會(huì)被銷毀,當(dāng)前程序中所有對(duì)象同時(shí)被銷毀。GC進(jìn)程一般都跟著每起一個(gè)SESSION而開始運(yùn)行的.gc目的是為了在session文件過期以后自動(dòng)銷毀刪除這些文件. 

二、__destruct /unset 

__destruct() 析構(gòu)函數(shù),是在垃圾對(duì)象被回收時(shí)執(zhí)行。 
unset 銷毀的是指向?qū)ο蟮淖兞浚皇沁@個(gè)對(duì)象。 

三、 Session 與 GC 

由于PHP的工作機(jī)制,它并沒有一個(gè)daemon線程來定期的掃描Session信息并判斷其是否失效,當(dāng)一個(gè)有效的請(qǐng)求發(fā)生時(shí),PHP 會(huì)根據(jù)全局變量 session.gc_probability和session.gc_divisor的值,來決定是否啟用一個(gè)GC, 在默認(rèn)情況下,session.gc_probability=1, session.gc_divisor =100也就是說有1%的可能性啟動(dòng)GC(也就是說100個(gè)請(qǐng)求中只有一個(gè)gc會(huì)伴隨100個(gè)中的某個(gè)請(qǐng)求而啟動(dòng)). 

GC的工作就是掃描所有的Session信息,用當(dāng)前時(shí)間減去session最后修改的時(shí)間,同session.gc_maxlifetime參數(shù)進(jìn)行比較,如果生存時(shí)間超過gc_maxlifetime(默認(rèn)24分鐘),就將該session刪除。 
但是,如果你Web服務(wù)器有多個(gè)站點(diǎn),多個(gè)站點(diǎn)時(shí),GC處理session可能會(huì)出現(xiàn)意想不到的結(jié)果,原因就是:GC在工作時(shí),并不會(huì)區(qū)分不同站點(diǎn)的session. 

那么這個(gè)時(shí)候怎么解決呢? 

1. 修改session.save_path,或使用session_save_path()讓每個(gè)站點(diǎn)的session保存到一個(gè)專用目錄, 
2. 提供GC的啟動(dòng)率,自然,GC的啟動(dòng)率提高,系統(tǒng)的性能也會(huì)相應(yīng)減低,不推薦。 
3. 在代碼中判斷當(dāng)前session的生存時(shí)間,利用session_destroy()刪除

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 伊人激情 | 日韩电影免费在线观看中文字幕 | 久久精品亚洲一区二区 | 精品粉嫩超白一线天av | 综合久久亚洲 | aaa综合国产 | 天堂av中文在线 | 日韩国产欧美一区 | 欧美操操操| 欧美激情一区二区三区在线视频 | 日本不卡一二三区 | 欧美日韩在线一区 | 国产成人精品免费视频大全最热 | 精品成人av一区二区三区 | 亚洲综合精品久久 | 亚洲精选一区二区 | 午夜视频在线播放 | 国产伦精品一区二区三区四区视频 | 精品视频一区二区三区 | 亚洲视频在线观看 | 国产精品亚洲一区二区三区在线 | 亚洲国产精品久久久久 | 日本不卡高字幕在线2019 | 欧美性猛交xxxx黑人猛交 | 欧美久久久久久久久久久久久久 | 精品久久久久久久人人人人传媒 | 成年人激情视频 | 91国视频 | 日本亚洲最大的色成网站www | 日韩精品免费 | 国产中文字幕一区 | 久久精品国产免费 | 一区二区三区在线播放 | 精品国产一区二区在线 | 久久精品中文字幕大胸 | 毛片黄片| 色综合久久久久久久久久久 | 久久伊人官网 | 日本在线免费 | 99热精品免费 | 91视频网址 |