PHP5 ZendMM 托管堆结构
2016-08-15 14:31:29 0 举报
Zend Memory Manager (MM)是Zend Framework的一部分,它提供了一种托管堆结构来管理PHP的内存。这种结构允许开发者在需要时分配和释放内存,而不需要手动管理内存。Zend MM使用了一种称为引用计数的技术来跟踪内存的使用情况。当一个对象不再被使用时,它的引用计数会减少,当引用计数达到零时,内存就会被自动释放。此外,Zend MM还提供了一种垃圾收集机制,可以在运行时自动回收不再使用的内存。这种托管堆结构使得PHP的内存管理更加高效和安全,减少了内存泄漏和溢出的风险。
作者其他创作
大纲/内容
size_t limit
zend_mm_segment *segment_list
zend_mm_storage* storage
zend_mm_free_block *cache[ZEND_MM_NUM_BUCKETS]
空闲Small内存块
int use_zend_alloc
空闲Rest区(只有申请Segment大小超过标准大小时才会使用)
int rest_count;
空闲Large内存块
zend_mm_free_block *large_free_buckets[ZEND_MM_NUM_BUCKETS];
zend_mm_heap
... ...
unsigned int cached
存储层控制类,以及申请下来的所有segment都在这里
zend_mm_free_block *rest_buckets[2];
托管堆缓存系统
zend_mm_free_block *free_buckets[ZEND_MM_NUM_BUCKETS*2];
0 条评论
下一页