您的位置 首页 php

图说垃圾回收php5与php7的3大区别

目录

  • 概述
  • php垃圾回收流程图
  • php5和php7垃圾回收上的3大区别
  • php7与php5变量引用计数的对比
  • php7进阶到架构师相关阅读

概述

这是关于php进阶到架构之php7性能优化学习的第 篇文章:5分钟轻松搞懂php7垃圾回收机制

  • 第一篇:php7代码性能常见优化技巧
  • 第二篇:PHP对象在内存中的分配
  • 第三篇:5分钟轻松搞懂php7垃圾回收机制
  • 第四篇:细说垃圾回收php5与php7的3大区别

php垃圾回收流程图

PHP5和PHP7的垃圾回收机制都属于 引用计数 拷贝复制

php垃圾回收机制详解参考:

php垃圾回收流程图

php5和php7垃圾回收上的3大区别

php7简单数据类型不再进行引用计数代码分析:

 $a = 123;
echo xdebug_debug_zval( 'a');  

php5运行结果如下:

a:(refcount=1, is_ref=0),int 123

php7运行结果如下:

a:(refcount=0, is_ref=0)int 123

php5中refcount=1,php7中refcount=0,由此说明 php7简单数据类型不再进行引用计数

php7与php5变量引用计数的对比

php5变量赋值等操作引用计数如图所示:

php5变量赋值等操作引用计数

PHP 7 的计数放到了具体的 value 中,

并且 PHP 7 的有一个专门的 zend_reference 用来表示引用。

php7变量赋值等操作引用计数如图所示

php7进阶到架构师相关阅读

最后,欢迎大家留言补充,讨论~~~

文章来源:智云一二三科技

文章标题:图说垃圾回收php5与php7的3大区别

文章地址:https://www.zhihuclub.com/153481.shtml

关于作者: 智云科技

热门文章

网站地图