以图明志

PHP服务器脚本

理解PHP引用计数和写时复制

符号表的概念
php使用引用计数和写时复制(copy-on-write)来管理内存。引用计算确保在引用不再需要时将内存返回给操作系统,写时复制确保在变量之间复制值时不浪费内存。要理解PHP中的内存管理,必须首先理解符号表(symbol table)的思想,变量有两部分–变量名(如$name)和变量值(如”Fred”)。符号表是一个数组,此数组将变量名映射到其值在内存中的位置。

PHP服务器脚本

[专题] PHP内核探索:变量的存储

变量存储在一个HashTable实现的符号表里
PHP中的变量类型和值是通过C语言实现的,内核具体是如何组织用户在PHP中定义的变量呢?Hash Table在ZE内核中被广泛使用,PHP变量也正是存储在一个HashTable实现的符号表里。当在PHP中调用一个函数或者类时,内核会创建一个新的符号表,这也是为什么在函数中无法使用函数外部定义的变量的原因。因为他们分属两个符号表,一个当前作用域,一个全局作用域。
1 / 1 首页 < Prev 1 Next > 尾页 页码: