Uko*_*Uko 3 garbage-collection smalltalk pharo
可以在Pharo中垃圾收集某个物体吗?
例如,我知道某个对象不是(不应该)被任何其他对象引用.它需要很大的空间.在系统上运行常规垃圾收集是否有意义?或者可以从堆中删除特定的对象/树
Smalltalk垃圾收集器不能只垃圾收集一个对象.
使用了两种基本技术 - 生成清除和标记和扫描.生成清理通过将使用过的对象复制到另一个未使用的空间并忽略所有垃圾来处理新对象和相对较新的对象.被复制很多次的对象被移动到"旧空间".旧空间是通过标记和扫描算法收集的垃圾.该算法遍历所有Smalltalk对象并将其标记为"未标记".然后遍历所有可访问的对象并将其标记为"已标记".在最后一次扫描中,任何仍标记为"未标记"的内容都将被释放.
无法在单个对象上运行任何算法.
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |