时间内完-mysql crash course (英文版 pdf)

上传者: 26786277 | 上传时间: 2022-12-29 17:17:10 | 文件大小: 1.81MB | 文件类型: PDF
 内存分配和回收更快,因为每次都是在一个池中完成的。分配可以在 O(1)时间内完 成,释放内存池所需时间也差不多(实际上是 O(n)时间,不过在大部分情况下会除 以一个大的因数,使其变成 O(1))。  可以预先分配错误处理池(Error-handling pools),以便程序在常规内存被耗尽时仍 可以恢复。  有非常易于使用的标准实现。 池式内存的缺点是:  内存池只适用于操作可以分阶段的程序。  内存池通常不能与第三方库很好地合作。  如果程序的结构发生变化,则不得不修改内存池,这可能会导致内存管理系统的重 新设计。  您必须记住需要从哪个池进行分配。另外,如果在这里出错,就很难捕获该内存池。 3. 引用计数 在引用计数中,所有共享的数据结构都有一个域来包含当前活动“引用”结构的次数。 当向一个程序传递一个指向某个数据结构指针时,该程序会将引用计数增加 1。实质上,是 在告诉数据结构,它正在被存储在多少个位置上。然后,当进程完成对它的使用后,该程序 就会将引用计数减少 1。结束这个动作之后,它还会检查计数是否已经减到零。如果是,那 么它将释放内存。 在 Java,Perl 等高级语言中,进行内存管理时使用引用计数非常广泛。在这些语言中, 引用计数由语言自动地处理,所以您根本不必担心它,除非要编写扩展模块。由于所有内容 都必须进行引用计数,所以这会对速度产生一些影响,但它极大地提高了编程的安全性和方 便性。 以下是引用计数的好处:  实现简单。  易于使用。  由于引用是数据结构的一部分,所以它有一个好的缓存位置。 不过,它也有其不足之处:  要求您永远不要忘记调用引用计数函数。  无法释放作为循环数据结构的一部分的结构。  减缓几乎每一个指针的分配。  尽管所使用的对象采用了引用计数,但是当使用异常处理(比如 try 或 setjmp()/ longjmp())时,您必须采取其他方法。  需要额外的内存来处理引用。  引用计数占用了结构中的第一个位置,在大部分机器中最快可以访问到的就是这个 位置。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明