php5 segment内存分布
2016-08-15 16:38:44 0 举报
PHP5的内存分配主要分为两部分:栈内存和堆内存。栈内存主要用于存储局部变量、函数参数等,其生命周期由函数调用开始到结束,遵循先进后出的原则。堆内存主要用于存储动态分配的数据结构,如数组、对象等,其生命周期由程序员手动管理,可以通过`malloc()`、`calloc()`、`realloc()`等函数进行分配和释放。此外,PHP5还提供了一些特殊的内存区域,如Zend引擎内部使用的内存区域,用于提高性能和效率。在PHP5中,内存分配和回收都是由Zend引擎自动管理的,程序员无需关心具体的内存操作细节。
作者其他创作
大纲/内容
_prev = 0x0
MM_BLOCK_HEADER
FREE_MEMORY
_prev = GUARD
_prev = sizeof(USED_MEMORY) | USED
zend_mm_block_info
_size = GUARD | sizeof(zend_mm_block)
USED_MEMORY
_size = sizeof(FREE_MEMORY) | FREE
Zend_MM_Segment初始状态
SEGMENT_HEADER
_size = sizeof(USED_MEMORY) | USED
_size = 0x0
Zend_MM_Segment被申请走USED_MEMORY后
0 条评论
下一页