php 分配内存,php内存分配怎么理解

不明觉历

1、既然有出处,好歹分享一下出处文章的链接吧(虽然搜索很好用,不过还是需要成本的)

2、如果真的想理解php的内存分配,建议还是学学C相关的东西看看源码,或者请教下有相关经验的人,了解的会更透彻一些。

不过既然写了回答,我也简单说点个人看法。当然也只是根据原文的意思揣摩,没有什么准确的依据。

依照原文标题“请手动释放你的资源”,再围绕你节选的这段文字。php在执行的时候会申请两块内存(会自动释放一大块+一小块),当然这个“自动释放”是发生在执行结束的时候。然后就有了“后续的逻辑如果请求内存”,发现之前申请的大块内存已经被用完(可能包含了很多已经无效的资源,但是没有被手动释放),就会再次向操作系统申请内存。

所以前后文所提到的重新申请内存,都是指大块内存,而不是保留下来的那块小内存,小内存是用于做引用计数或者说内存管理用的。也就是说,小块内存是给系统用的,而不是给业务逻辑代码自身用的,当进程执行结束之后会一并释放。

进而可以知道,就是因为很多无效资源没有及时的释放,从而导致了需要多次申请内存,增加了系统开销。也就印证了文章标题“请手动释放你的资源”。

还有一点想说的是,这个文章也比较老了,如果希望真正了解PHP内存管理的话,建议针对文章中提到的“垃圾回收”做一下扩展阅读。

另外个人感觉80%做php的都不知道这个内存分配究竟是啥,当然也包括我

这80%的人里面可能90%都不关心这个问题 哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值