垃圾回收的基本工作流程

标记阶段(Marking Phase):垃圾回收器会从一个或多个根对象(如全局对象、执行栈中的变量等)开始,递归地遍历堆中的对象,并对可达的对象进行标记。可达对象是指可以通过根对象直接或间接访问到的对象。

清除阶段(Sweeping Phase):在标记阶段完成后,垃圾回收器会遍历整个堆,找到未被标记的对象,这些对象被认为是不再使用的。垃圾回收器会将这些未标记的对象所占用的内存空间释放回给操作系统或内存池,使其可以被再次使用。

压缩阶段(Compacting Phase)(可选):某些垃圾回收器还可能包含一个压缩阶段,用于进一步优化内存空间的利用。在此阶段,垃圾回收器会将存活的对象向堆的一端移动,以便在堆的另一端形成一块连续的可用内存空间。

https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=d59bf6cbe74a47848bb179590bdf5f59
全部评论

相关推荐

机械打工仔:有说的你怀疑一下就行了,直接问也太实诚了
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务