内容简介:诶呀 , 这个问题说出来有些傻X , 但不测试一下. 写程序心里还是发慌.PHP的内存回收原理, 不多说了 自己看手册. 就是个引用计数器, 变量上没有数量就回收了.对象也是一样, 当你实例化的对象赋值到变量上, 这个对象的引用关系就赋值到变量上了. 如果重新赋值对象变量, 原有对象也就没有计数了, 也就被注销了.
诶呀 , 这个问题说出来有些傻X , 但不测试一下. 写程序心里还是发慌.
PHP的内存回收原理, 不多说了 自己看手册. 就是个引用计数器, 变量上没有数量就回收了.
对象也是一样, 当你实例化的对象赋值到变量上, 这个对象的引用关系就赋值到变量上了. 如果重新赋值对象变量, 原有对象也就没有计数了, 也就被注销了.
举个栗子:
<?php class Obj { public function __construct() { echo __FUNCTION__, PHP_EOL; } public function __destruct() { echo __FUNCTION__, PHP_EOL; } } $data = new Obj(); $i =0 ; do { if ($i > 3) { $data = []; // 注销对象 unset 也 ok 只要计数归零 对象就会注销 (swoole 对象内生成定时器问题 待测试) } sleep(1); echo $i++, PHP_EOL; } while($i < 5);
运行后输出
localhost:Desktop admin$ php test.php __construct 0 1 2 3 __destruct 4 localhost:Desktop admin$
答案很明显了, 重新赋值对象变量, 析构函数触发.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Vue+Express实现登录,注销
- EventBus源码剖析(1) — 注册与注销订阅
- 腾讯QQ:注销功能预计下周正式发布
- 腾讯QQ号注销真的来了,方法还超简单
- 排查 Dubbo 接口重复注销问题,我发现了一个巧妙的设计
- 「小程序JAVA实战」小程序我的个人信息-注销功能(40)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Is Parallel Programming Hard, And, If So, What Can You Do About
Paul E. McKenney
The purpose of this book is to help you understand how to program shared-memory parallel machines without risking your sanity.1 By describing the algorithms and designs that have worked well in the pa......一起来看看 《Is Parallel Programming Hard, And, If So, What Can You Do About 》 这本书的介绍吧!