php的回收机制
2017-06-04 12:36
92 查看
参考原文 http://www.nowamagic.net/librarys/veda/detail/1377
采用的是引用计数(php5.3之后做了优化):
每个内存对象都分配一个计数器,当变量引用的时候 则计数器+1,引用撤掉的时候则是 -1,为0的时候 内存对象销毁,垃圾回收.
这个有个环路的问题 a对象引用了对象b b 对象引用对象a 这个怎么都回收不了的
其他的影响:
a. & 计数器+1
b. unset 计数器-1
c.
=null
$a = new Auth()
$b = new Auth()
$a=null 则将 Auth 置空 计数器为0
d.
脚本执行结束 则释放脚本内所有的内存空间
采用的是引用计数(php5.3之后做了优化):
每个内存对象都分配一个计数器,当变量引用的时候 则计数器+1,引用撤掉的时候则是 -1,为0的时候 内存对象销毁,垃圾回收.
这个有个环路的问题 a对象引用了对象b b 对象引用对象a 这个怎么都回收不了的
class A{ private $b; function __construct(){ $this->b = new B($this); } function __destruct(){ //echo "A destruct\n"; } } class B{ private $a; function __construct($a){ $this->a = $a; } function __destruct(){ //echo "B descturct\n"; } } for($i=0;;$i++){ $a = new A(); if($i00 == 0){ echo memory_get_usage()."\n"; } }
其他的影响:
a. & 计数器+1
b. unset 计数器-1
c.
=null
$a = new Auth()
$b = new Auth()
$a=null 则将 Auth 置空 计数器为0
d.
脚本执行结束 则释放脚本内所有的内存空间
相关文章推荐
- php垃圾回收机制
- 学习PHP垃圾回收机制了解引用计数器的概念
- php 内存回收机制
- PHP session回收机制(转)
- PHP session回收机制
- php垃圾回收机制分析
- PHP垃圾回收机制之回收周期
- PHP垃圾回收机制之性能方面的考虑
- PHP垃圾回收机制防止内存溢出
- 解读PHP中的垃圾回收机制
- 浅析php垃圾回收机制
- php 内存回收机制
- PHP垃圾回收机制引用计数器概念分析
- PHP特点之垃圾回收机制2——回收周期
- [PHP]session回收机制及php.ini session生命期
- php中Session的生成机制、回收机制和存储机制探究
- PHP的垃圾回收机制详解
- PHP垃圾回收机制
- PHP内存管理机制与垃圾回收机制
- 详谈PHP垃圾回收机制