39、垃圾回收机制全解析:原理、分析与性能调优

垃圾回收机制全解析:原理、分析与性能调优

1. 垃圾回收性能开销对比

与仅对可能部分缓存在 CPU 内的单个临时段进行操作的第 0 代或第 1 代垃圾回收(GC)相比,Full - GC 的性能开销可能要大得多。Full - GC 和临时 GC(第 0 代或第 1 代回收)之间的开销差异可能达到几个数量级,因此应尽可能避免 Full - GC。

2. GC 过程步骤

从高层次来看,GC 工作包含以下步骤:
1. 触发垃圾回收 :某些因素触发了对 GC 的需求。
2. 暂停托管线程 :请求执行引擎暂停所有执行托管代码的线程(对于非并发 GC,在整个垃圾回收期间都会暂停)。
3. 用户线程启动 GC 代码 :触发 GC 的线程开始执行垃圾回收器代码。
4. 选择要回收的代 :GC 根据各种条件决定应回收哪一代。
5. 标记 :对要回收的代及其更年轻代中的可达对象进行标记。
6. 规划 :GC 决定是进行压缩操作还是仅进行清扫操作。此步骤包含完成整个 GC 所需的大部分计算。
7. 清扫或压缩 :根据规划阶段的决策,使用清扫或压缩技术。如果选择压缩,在操作前必须执行额外的重定位阶段,以更新所有地址。
8. 恢复托管线程 :请求执行引擎恢复所有执行托管代码的线程。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值