論php垃圾回收為何不受重視
阿新 • • 發佈:2018-09-29
code 占用內存 銷毀 語言 java垃圾回收 it行業 相關 如何 重復
以前面試的時候,偶爾會被面試官問php的垃圾回收是如何實現的。當時知識有限,只能簡單百度一下,然後從源碼理解一下php的垃圾回收,當php識別到一個內容不再被用之後,就會回收。後來一個偶然的機會,本人要從事一些java相關的工作,後來面試也想過面試java方面的內容,發現java對垃圾回收這塊非常重視,經常有大蝙蝠文章介紹java垃圾回收的原理,本人一直對此不甚明白,為何同樣是編程語言,為何大家的側重點差異如此大。
直到最近,公司需要開發一些占用內存非常嚴重的php程序,然後本人才明白。php作為一種不長駐內存的語言,它的應用,往往是簡單的重復應用,後面的經常覆蓋前面的內存,等於變相清除了垃圾內存,又或者是網頁訪問的一次性請求,然後立刻銷毀,所以php對內存的使用其實天然就有自我清除垃圾的功能。而java在web中,如果不及時銷毀垃圾內存,那麽垃圾就可以長久的駐留在內存裏面,久而久之,很容易就會內存溢出。兩種語言的實現方案,導致他們對垃圾內存的重視程度不一樣。個人感覺很多面試官都不甚明白,只是依據自己對it行業的理解然後順口問問這方面的內容。只有同時對兩種不同語言熟悉的人,才能體會到其中的不同。
論php垃圾回收為何不受重視