CODE, ARCHITECTURE & AI
代码、架构与 AI 时代.
记录工程实践,也探索 AI 时代软件与人的新可能。
484 篇记录保持好奇,慢慢积累
PHP源码阅读笔记三十四:PHP5.3新增加的垃圾回收机制(Garbage Collection) 在之前的文章 PHP源码阅读笔记三十三:PHP5.3新增加的垃圾回收机制(Garbage Collection)基础 中有介绍了垃圾回收机制的一些基础知识。今天我们看看其初始化,添加到垃圾缓冲区和垃圾回收的过程。 官方说明文档请猛击 Garbage Colle…
PHP源码阅读笔记三十三:PHP5.3新增加的垃圾回收机制(Garbage Collection)基础 PHP5.3中新增加了垃圾回收机制,据说很先进,据说引诱了我去看看其先进的实现。 官方说明文档请猛击 Garbage Collection 中文版地址:http://docs.php.net/manual/zh/features.gc.php 【垃圾回收机…
PHP源码阅读笔记三十二:PHP内存池中的emalloc/efree层与堆(heap)层 emalloc/efree层是整个内存体系中最上层结构,它通过与堆层的交换使用PHP自带的内存管理机制。如果有设置USE_ZEND_ALLOC为0,则直接使用malloc/free等函数直接操作内存。 这里将从emalloc与efree两个函数的实现解析emalloc/…
PHP源码阅读笔记三十一:PHP内存池中的堆(heap)层基础 【概述】 PHP的内存管理器是分层(hierarchical)的。这个管理器共有三层:存储层(storage)、堆(heap)层和 emalloc/efree 层。在 PHP源码阅读笔记三十:PHP内存池中的存储层 中介绍了存储层,存储层通过 malloc()、mmap() 等函数向系统真正的申…
PHP源码阅读笔记三十:PHP内存池中的存储层 【概述】 PHP的内存管理器是分层(hierarchical)的。这个管理器共有三层:存储层(storage)、堆(heap)层和 emalloc/efree 层。存储层通过 malloc()、mmap() 等函数向系统真正的申请内存,并通过 free() 函数释放所申请的内存。存储层通常申请的内存块都比较大,…
PHP源码阅读笔记二十九:接口的继承 在之前有看过PHP源码中 类的继承 ,今天我们看下PHP中的接口继承是如何实现的。 同样我们从CachingIterator类开始查找接口的继承实现。 CachingIterator extends IteratorIterator implements OuterIterator , Traversable , Ite…
使用PHP实现堆排序 堆积排序(Heapsort)是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。 "堆"定义 n个关键字序列Kl,K2,...,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ n) /…
PHP源码阅读笔记二十八:类结构和继承 作为面向对象中一个非常关键也非常纠结的特性,我们需要了解一些 在PHP5中,从一开始就有了继承的概念,今天我们从PHP源码出发,了解他是怎么实现的。 在了解类的继承之前,我们需要知道类在PHP源码中是以哪种方式存储的。 找到zend/zend.h 418行: struct _zend_class_entry { cha…