您当前的位置: 首页 >  php

知其黑、受其白

暂无认证

  • 0浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

PHP垃圾回收机制

知其黑、受其白 发布时间:2021-07-23 18:02:29 ,浏览量:0

PHP垃圾回收机制
  • 阐述
  • 概念
    • 1、原理
    • 2、php5和 php7 不同点
    • 3、变量在zval的变量容器中结构
  • 回收周期(Collecting Cycles)
  • 性能方面考虑的因素

参考文献:http://it.sunzoon.com/php7/zh/features.gc.html

阐述
  • 使用 引用计数机制
  • 将每个 PHP 变量保存在一个叫 zval 变量容器中。
  • zval 变量容器 包含 变量的类型、变量值、 is_res、refcount
  • is_ref 用于标识该变量是否为引用集合或变量。
  • refcount 表示指向当前变量的个数。
  • 默认打开垃圾回收机制, 当发现有存在循环引用的zval时, 就会把其投入到根缓冲区, 当根缓冲区达到配置文件中的指定数量后, 就会进行垃圾回收, 以此解决循环引用导致的内存泄露问题.
  • 如果引用计数减少到零, 所在变量容器将被清除(free), 不属于垃圾;
  • 如果一个zval的引用计数减少后还大于0, 那么它会进入垃圾周期。
  • 其次, 在一个垃圾周期中, 通过检查引用计数是否减1, 并且检查哪些变量容器的引用次数是零, 来发现哪部分是垃圾。
概念

垃圾回收机制是一种动态存储分配的方案。

关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.5399s