GC算法 笔记
作者:互联网
1.头
- 对象的大小
- 对象的种类
2.域
域中的数据类型:
- 指针
- 非指针
3.指针
4.mutator
- 生成对象,更新指针。可以理解为“应用程序”。
5.堆
动态存放对象的内存空间。
6.活动对象,非活动对象
能通过mutator引用的对象称为活动对象,不能被引用的称为非活动对象,非活动对象不能被再次引用。
7.分配
在内存空间中分配对象。
当堆被所有活动对象占满时,我们可以选择1.销毁至今为止的所有的计算结果,输出错误信息。
2.扩大堆,分配可用空间
8.chunk (分块)
指为利用对象而事先准备出来的空间。初始状态下,堆被一个大的分块所占据。然后程序会根据mutator的要求把块分割成合适的大小,作为活动对象使用。活动对象不久后会转化为垃圾被回收,这部分被回收的内存空间再次称为分块,为下次被利用做准备。 内存中的各个区块都重复着分块->活动对象->垃圾->分块->......这样的过程。
9.根
指向对象指针的起点部分,即引用树的根节点。
10.评价标准
- 吞吐量 单位时间内的处理能力
- 最大暂停时间 因执行GC而暂停执行mutator的最长时间
- 堆使用效率 因素:1.头的大小 2.堆的用法
- 访问的局部性
标签:分块,对象,内存空间,笔记,mutator,算法,GC,活动,指针 来源: https://blog.csdn.net/qq_33776188/article/details/104793590