设为首页 加入收藏

TOP

深度好文:PHP写时拷贝与垃圾回收机制(转)(二)
2019-10-09 19:56:28 】 浏览:55
Tags:深度 PHP 拷贝 垃圾 回收 机制
set()时只是放了为变量值分配的内存,但是为变量名分配的内存还是在符号表中的,符号表并没有缩小,所以没收回来的内存是被符号表占去了。

php并不是只要内存不够就去向OS申请内存,而是先申请一大块内存,然后将其中一部分分给申请者,这样再有逻辑需要申请内存的时候,就不需要再向OS申请内存了,避免了重复申请,只有当一大块内存不够用的时候再去申请。而当释放内存时,php并非把内存还给了OS,而是把内存轨道自己维护的空闲内存列表,以便重复利用。

垃圾回收相关的配置

  • zend.enable_gc,默认值为on,如果想关闭垃圾回收机制,可以设置为off

小知识点

  • unset():unset()只是断开一个变量到一块内存区域的连接,同时将该内存区域的引用计数减1,内存是否回收主要还是看refcount是否到0了。
  • null:将null赋值给一个变量是直接将该变量指向的数据结构置空,同时将其引用计数归0。
  • 脚本执行结束:该脚本中所有内存都会被释放,无论是否有环引用。
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[视频教程] 最新版swoole安装和TA.. 下一篇php-fpm启动,重启,退出

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目