CODE, ARCHITECTURE & AI

代码、架构与 AI 时代.

记录工程实践,也探索 AI 时代软件与人的新可能。

484 篇记录保持好奇,慢慢积累

PHP源码阅读笔记三十四:PHP5.3新增加的垃圾回收机制(Garbage Collection)

PHP源码阅读笔记三十四:PHP5.3新增加的垃圾回收机制(Garbage Collection) 在之前的文章 PHP源码阅读笔记三十三:PHP5.3新增加的垃圾回收机制(Garbage Collection)基础 中有介绍了垃圾回收机制的一些基础知识。今天我们看看其初始化,添加到垃圾缓冲区和垃圾回收的过程。 官方说明文档请猛击 Garbage Colle…
继续阅读 ↗

PHP源码阅读笔记三十三:PHP5.3新增加的垃圾回收机制(Garbage Collection)基础

PHP源码阅读笔记三十三:PHP5.3新增加的垃圾回收机制(Garbage Collection)基础 PHP5.3中新增加了垃圾回收机制,据说很先进,据说引诱了我去看看其先进的实现。 官方说明文档请猛击 Garbage Collection 中文版地址:http://docs.php.net/manual/zh/features.gc.php 【垃圾回收机…
继续阅读 ↗

PHP源码阅读笔记三十二:PHP内存池中的emalloc/efree层与堆(heap)层

PHP源码阅读笔记三十二:PHP内存池中的emalloc/efree层与堆(heap)层 emalloc/efree层是整个内存体系中最上层结构,它通过与堆层的交换使用PHP自带的内存管理机制。如果有设置USE_ZEND_ALLOC为0,则直接使用malloc/free等函数直接操作内存。 这里将从emalloc与efree两个函数的实现解析emalloc/…
继续阅读 ↗

PHP源码阅读笔记三十一:PHP内存池中的堆(heap)层基础

PHP源码阅读笔记三十一:PHP内存池中的堆(heap)层基础 【概述】 PHP的内存管理器是分层(hierarchical)的。这个管理器共有三层:存储层(storage)、堆(heap)层和 emalloc/efree 层。在 PHP源码阅读笔记三十:PHP内存池中的存储层 中介绍了存储层,存储层通过 malloc()、mmap() 等函数向系统真正的申…
继续阅读 ↗

PHP源码阅读笔记三十:PHP内存池中的存储层

PHP源码阅读笔记三十:PHP内存池中的存储层 【概述】 PHP的内存管理器是分层(hierarchical)的。这个管理器共有三层:存储层(storage)、堆(heap)层和 emalloc/efree 层。存储层通过 malloc()、mmap() 等函数向系统真正的申请内存,并通过 free() 函数释放所申请的内存。存储层通常申请的内存块都比较大,…
继续阅读 ↗

使用PHP实现堆排序

使用PHP实现堆排序 堆积排序(Heapsort)是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。 "堆"定义 n个关键字序列Kl,K2,...,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ n) /…
继续阅读 ↗

PHP源码阅读笔记二十八:类结构和继承

PHP源码阅读笔记二十八:类结构和继承 作为面向对象中一个非常关键也非常纠结的特性,我们需要了解一些 在PHP5中,从一开始就有了继承的概念,今天我们从PHP源码出发,了解他是怎么实现的。 在了解类的继承之前,我们需要知道类在PHP源码中是以哪种方式存储的。 找到zend/zend.h 418行: struct _zend_class_entry { cha…
继续阅读 ↗