zoukankan      html  css  js  c++  java
  • php 5.3 垃圾回收

    1、引用计数器

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

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

    //当一个变量被赋常量值时,就会生成一个zval变量容器
    $a = "new string";
    xdebug_debug_zval('a'); //a: (refcount=1, is_ref=0)='new string'
    //把一个变量赋值给另一变量将增加引用次数(refcount).
    $a = "new string";
    $b = $a;
    xdebug_debug_zval( 'a' );
    a: (refcount=2, is_ref=0)='new string'
    //当没必要时,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

     2、回收周期(Collecting Cycles)

     

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

  • 相关阅读:
    spark 脚本示例
    R树的应用
    将博客搬至CSDN
    select
    注册页面的验证码的实现
    web项目.注册及登陆
    eclipse web 项目中遇到的问题总结
    Apache与Tomcat
    关于MVC整理
    JDBC
  • 原文地址:https://www.cnblogs.com/siqi/p/3652395.html
Copyright © 2011-2022 走看看