阅读目录
PHP 垃圾回收机制
PHP 可以自动进行内存管理,清除不再需要的对象。
PHP 使用了引用计数 (reference counting) 的垃圾回收 (garbage collection) 机制。
每个对象都内含一个引用计数器,当 reference 连接到对象,计数器加 1。
当 reference 离开生存空间或被设为 NULL,计数器减 1。
当某个对象的引用计数器为零时,PHP 释放其所占的内存空间。
PHP中什么是垃圾?
垃圾主要是针对内存的,如果一个对象,并没有任何变量引用它,那这个对象就是垃圾。
为什么要清理垃圾?
如果PHP开启了很多内存空间,但是却没有销毁它,内存会一点点的被吃掉,最终导致内存溢出!
有人说PHP线程结束的时候会销毁所有的变量,关闭所有打开的句柄资源,不都是自动的吗?
为什么我们还要清理?
如果写的PHP代码是个需要长时间执行的呢?(如弄成守护进程)