以图明志

编程思想

实现一个自动垃圾回收的思路

自动内存管理的策略,这就是自动垃圾回收机制
显式的内存管理的复杂性,而且还容易出错。因此我们需要一种自动内存管理的策略,这就是自动垃圾回收机制。既然是自动垃圾回收,那么平台肯定得采取一种方式发现垃圾,然后清除。这就是垃圾收集算法所关注的问题。垃圾收集算法的任务就是将活动的对象和已经死掉的对象分别出来,然后将死掉的对象的内存回收,而且为了更好的利用内存。

PHP服务器脚本

[专题] PHP内核探索:内存管理中的cache

PHP将缓存添加到内存管理机制中
在维基百科中有这样一段描述: 凡是位于速度相差较大的两种硬件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache。 从最初始的处理器与内存间的Cache开始,都是为了让数据访问的速度适应CPU的处理速度, 其基于的原理是内存中“程序执行与数据访问的局域性行为”。

PHP服务器脚本

[专题] PHP内核探索:PHP的内存管理

在ZEND内核中以宏的形式作为接口提供
PHP的内存管理可以被看作是分层(hierarchical)的。 它分为三层:存储层(storage)、堆层(heap)和接口层(emalloc/efree)。 存储层通过 malloc()、mmap() 等函数向系统真正的申请内存,并通过 free() 函数释放所申请的内存。 存储层通常申请的内存块都比较大,这里申请的内存大并不是指storage层结构所需要的内存大。

PHP服务器脚本

[专题] PHP内核探索:Zend内存管理器

非常类似于操作系统的内存管理功能
每个平台操作内存的方式都是差不多的有两个方面,一负责申请,二负责释放。如果应用程序向系统申请内存,系统便会在内存中寻找还没有被使用的地方,如果有合适的,便分配给这个程序,并标记下来,不再给其它的程序了。如果一个内存块没有释放,而所有者应用程序也永远不再使用它了。那么,我们就称其为"内存泄漏",那么这部分内存就无法再为其它程序所用了。

PHP服务器脚本

[专题] PHP内核探索:内存管理开篇

尽可能高效的利用内存
内存是计算机非常关键的部件之一,是暂时存储程序以及数据的空间,CPU只有有限的寄存器可以用于存储计算数据,而大部分的数据都是存储在内存中的,程序运行都是在内存中进行的。和CPU计算能力一样, 内存也是决定计算效率的一个关键部分。计算中的资源中主要包含:CPU计算能力,内存资源以及I/O。

JavaScript

[专题] JavaScript探秘:JScript的内存管理

命名函数表达式会导致产生多余的函数对象
我们知道,这个匿名函数调用返回的函数(带有标识符g的函数),然后赋值给了外部的f。我们也知道,命名函数表达式会导致产生多余的函数对象,而该对象与返回的函数对象不是一回事。所以这个多余的g函数就死在了返回函数的闭包中了,因此内存问题就出现了。这是因为if语句内部的函数与g是在同一个作用域中被声明的。
1 / 1 首页 < Prev 1 Next > 尾页 页码: