名称: 垃圾回收 描述: 垃圾回收器设计与实现的专家技能,涵盖多种收集算法 类别: 内存管理 允许工具:
- 读取
- 写入
- 编辑
- 全局搜索
- 文本搜索
- Bash
垃圾回收技能
概述
垃圾回收器设计与实现的专家技能,涵盖多种收集算法。
能力
- 实现标记-清除收集
- 实现复制/半空间收集器
- 实现带写屏障的分代收集
- 实现并发/增量标记(三色标记)
- 设计对象头布局和类型信息
- 实现精确与保守的根扫描
- 设计卡表和记忆集实现
- 实现终结器和弱引用
目标进程
- garbage-collector-implementation.js
- memory-allocator-design.js
- interpreter-implementation.js
- bytecode-vm-implementation.js
依赖
GC手册文献(Jones, Hosking, Moss)
使用指南
- 算法选择:从简单的标记-清除开始,根据需要演进到分代收集
- 写屏障:如果考虑分代/并发GC,应尽早设计写屏障
- 根扫描:为实现安全性,实施精确根扫描
- 暂停时间:测量暂停时间并根据应用需求进行优化
- 测试:构建GC压力测试和分配密集型基准测试
输出模式
{
"type": "object",
"properties": {
"algorithm": {
"type": "string",
"enum": ["mark-sweep", "copying", "mark-compact", "generational", "concurrent"]
},
"writeBarrier": {
"type": "string",
"enum": ["none", "card-table", "remembered-set", "snapshot-at-beginning", "incremental-update"]
},
"rootScanning": {
"type": "string",
"enum": ["conservative", "precise"]
},
"generatedFiles": {
"type": "array",
"items": { "type": "string" }
}
}
}