虽然自己也是PHP从业者,但之前还真没怎么了解PHP内部的垃圾回收流程,只是在我们的代码中用下列函数去释放对象防止内存溢出而已。
unset null mysql_close __destruct
所以上网找了一下,找到了以下一些说明,作下记录。
PHP可以自动进行内存管理,清除不再需要的对象。PHP使用了引用计数(reference counting)这种单纯的垃圾回收(garbage collection)机制。每个对象都内含一个引用计数器,每个reference连接到对象,计数器加1。当reference离开生存空间或被设为NULL,计数器减1。当某个对象的引用计数器为零时,PHP知道你将不再需要使用这个对象,释放其所占的内存空间。
首先咱先看到例子
$a = 'apple';
$b = &$a
上述代码中,我将一个字符串赋值给变量a,然后将a的引用赋值给了变量b。显然,这个时候的内存指向应该是这样的:
<blockquote>
$a -> 'apple' |