php的垃圾收集機制是怎樣的?解決方案

來源:互聯網
上載者:User
php的垃圾收集機制是怎樣的?
如題...

是網上搜得tencent筆試題...

------解決方案--------------------
只知道session的垃圾收集機制
------解決方案--------------------
不懂,幫頂,期待高手.
------解決方案--------------------
其他的手冊上說,主要是資源會產後垃圾問題,但PHP4後已有記數功能,哪果資源沒有被佔用,會自動釋放
------解決方案--------------------
在PHP中,沒有任何變數指向這個對象時,這個對象就成為垃圾。PHP會將其在記憶體中銷毀;這是PHP 的GC垃圾處理機制,防止記憶體溢出。

當一個 PHP線程結束時,當前佔用的所有記憶體空間都會被銷毀,當前程式中所有對象同時被銷毀。GC進程一般都跟著每起一個SESSION而開始啟動並執行.gc目的是為了在session檔案到期以後自動銷毀刪除這些檔案.
------解決方案--------------------
執行這些函數也可以起到回收作用
__destruct /unset/mysql_close
------解決方案--------------------
php的記憶體回收機制並不需要程式員考慮,
只要對不用的resource及時的關閉,對佔用資源大的變數及時unset就可以了。

------解決方案--------------------
php對session有明確的gc處理時間設定
session.gc_maxlifetime
------解決方案--------------------
個人覺得每個請求是一個進程吧
------解決方案--------------------
我留個痕迹
------解決方案--------------------
探討
引用:
當一個 PHP線程結束時,當前佔用的所有記憶體空間都會被銷毀,當前程式中所有對象同時被銷毀。GC進程一般都跟著每起一個SESSION而開始啟動並執行.gc目的是為了在session檔案到期以後自動銷毀刪除這些檔案.


線程? PHP還支援多線程?

是每一個 標籤搞出一個線程?
還是每一個檔案搞出一個線程?

還是根本只有一個線程?

高手回答下.謝

------解決方案--------------------
探討
php對session有明確的gc處理時間設定
session.gc_maxlifetime

------解決方案--------------------
對於記憶體佔用的垃圾處理嗎?
首先PHP作為指令碼語言是頁面結束即釋放變數所佔記憶體的。

如果說有垃圾,那就是整體的程式在架構使用中,會多次調用同一檔案等等造成的非單件模式等。

所以在出來的時候,必要的用_once 引用,在聲明類的時候使用單件模式。還有簡化邏輯等等。

而如果妄想讓PHP自己本身管理記憶體,進行垃圾管理。呵呵。好像PHP還辦不到,對於解構函式,ANDI在他的書裡寫的很明白。可有可無,不可置否。

而記憶體管理的東西一般都是傳統型程式更多去考慮的。PHP還非要搞一個記憶體管理的東西,哎,鞭長莫及吧。


------解決方案--------------------
學習
------解決方案--------------------
呵呵~~,學習拉!
------解決方案--------------------
不懂,看過JavaScript的記憶體回收機制,PHP還真沒注意過!
------解決方案--------------------
記得書上說用引用計數和寫時複製來管理記憶體,也是PHP的記憶體管理的主要機制
------解決方案--------------------
中國的招聘總是整那麼多的名詞,那麼多的理論,開發的時候還要看具體的能力的
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.