为了账号安全,请及时绑定邮箱和手机立即绑定

php中实例化的对象什么时候会释放

php中实例化的对象什么时候会释放

猛跑小猪 2019-04-14 09:52:10
有时候用php在处理比较大的数据的时候,会报内存不够的错误。想到实例化可能会占据内存,unset掉之后并没有改善多少,那么php中实例化的对象会在什么时候被释放?
查看完整描述

2 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

这种时候你就应该考虑你处理数据的算法和机制了,你说实例化会占用内存,那你是不是在这个大数据里经常实例化对象呢,既然是大数据,你还在里面一直实例化,好像就不太合适了。
另外,unset销毁的只是该对象,并没有销毁该对象在内存中的占用,这里引用一句话:
当给一个变量赋值(或者相类似的操作),内存会开辟一个空间存储,这时候会产生两个重要的概念,一个是“内存的地址”,一个是“地址内的内容”。unset打断了变量与地址间的联系。而php会自动检测内存地址里的数据是否完全没有跟其它变量产生联系,在确定没有的情况下会回收内存。所以要回收内存,那就要把所有的联系打断。
参考文章
unset函数内存分配和销毁问题探秘phpunset对象实例
                            
查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 776 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信