我为什么要做博文分析?
因为要增强记忆,别人的知识转化为自己的知识点,理清逻辑思路。
1. 标题:一看就懂系列之 由浅入深聊一聊php的垃圾回收机制
评价:博主(咖啡色的羊驼)经常写博客、有实操xdebug_debug_zval()、实操步骤也比较清晰、引用PHP官方配图、理解有一定难度,需要仔细阅读。
博文思路:内存计数-->2内存变化实操(refcount\is_ref)-->3老版本内存溢出-->4新版本垃圾判断处理过程(refcount-1=0可能是垃圾)-->5算法优化配置
重点内容:refcount、is_ref(标记是否存在引用)、memory_get_usage()、php.ini中设置 zend.enable_gc
2. 标题:PHP垃圾回收深入理解
目录:PHP变量及关联内存对象的内部表示、PHP5.2中的垃圾回收算法——Reference Counting、PHP5.3中的垃圾回收算法、PHP5.2与PHP5.3垃圾回收算法的性能比较、与垃圾回收算法相关的PHP配置
思路:
评论避免内存泄漏的几种方案:
1. 写高质量代码,减少内存泄漏的可能
2.根据PHP生命周期回收,让系统自动回收内存(对于非常驻行程序有效,RINIT ,RSHOTDOWN)
3.手动回收,即重启服务器nginx或apache (MINIT ,MSHOTDOWN)
4.调高php.ini配置文件: php.ini memory_limit = 128M(不推荐)
3.标题:php7 垃圾回收机制
亮点:php变量在底层的实现;“孤儿”->循环引用/野指针,原理,模拟减,array和object的测试代码
4. 标题:PHP垃圾回收机制详解
亮点:提到了不同变量类型,计数是否会变。php7的变化,配图1比较好。下面的测试code(数组引用)好像有问题
如果要动手测试
开启xdebug,并测试