垃圾回收与延续性编程:原理、实践与优化
垃圾回收概述
垃圾回收是自动内存管理的重要机制,旨在回收不再使用的内存空间,避免内存泄漏。尽管垃圾回收技术已经发展了五十年,但由于新硬件、新编程语言和新应用场景的出现,它仍然是一个活跃的研究领域。
垃圾回收历史
- 标记 - 清除回收 :由 John McCarthy 在 1960 年为 Lisp 发明。
- 双空间复制垃圾回收 :由 C.J. Cheney 在 1970 年提出。
- 分代垃圾回收 :由 Henry Lieberman 和 Carl Hewitt 在麻省理工学院提出。
新硬件(多核处理器、共享内存、缓存策略)、新编程语言(函数式、面向对象及其混合)和新应用(低延迟、低运行时开销)对垃圾回收提出了新的要求。
练习目标
通过一系列练习,我们将获得使用低级 C 语言实现简单垃圾回收器的实践经验。
练习内容
练习 10.1:理解抽象机器与垃圾回收器
为了理解抽象机器和垃圾回收器的工作原理及其协作方式,需要回答以下问题:
1. 指令执行描述 :
- ADD :将两个整数相加。
- CSTI i :将整数常量 i 压入栈。
- NIL :
超级会员免费看
订阅专栏 解锁全文
85

被折叠的 条评论
为什么被折叠?



