首页 > Web开发 > 详细

php 5.3 垃圾回收

时间:2014-04-08 18:57:24      阅读:536      评论:0      收藏:0      [点我收藏+]

1、引用计数器

php中的每个变量都存在一个zval的变量容器中, zval容易包括变量类型、值、is_ref(是否是引用)、refercount(引用次数,也成为符号),
所有的符号存在一个符号表中,每个符号都有作用域(scope)

当一个变量被赋常量值时,就会生成一个zval变量容器

bubuko.com,布布扣
//当一个变量被赋常量值时,就会生成一个zval变量容器
$a = "new string";
xdebug_debug_zval(‘a‘); //a: (refcount=1, is_ref=0)=‘new string‘
bubuko.com,布布扣

 

bubuko.com,布布扣
//把一个变量赋值给另一变量将增加引用次数(refcount).
$a = "new string";
$b = $a;
xdebug_debug_zval( ‘a‘ );
a: (refcount=2, is_ref=0)=‘new string‘
bubuko.com,布布扣

 

bubuko.com,布布扣
//当没必要时,php不会去复制已生成的变量容器
$a = 1;
xdebug_debug_zval(‘a‘); #(refcount=1, is_ref=0),int 1

$b = $a;
xdebug_debug_zval(‘a‘); #(refcount=2, is_ref=0),int 1

$b = 3;
xdebug_debug_zval(‘a‘); #(refcount=1, is_ref=0),int 1
bubuko.com,布布扣

 

 2、回收周期(Collecting Cycles)

 

 

原文地址:http://www.php.net/manual/zh/features.gc.refcounting-basics.php

 

 

 

 

 

 

 

 

php 5.3 垃圾回收,布布扣,bubuko.com

php 5.3 垃圾回收

原文:http://www.cnblogs.com/siqi/p/3652395.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!