带着问题阅读
- 垃圾回收时,需不需要暂停掉除GC线程外的其他线程?
- 内存那么大,HotSpot如何快速地找到对象?
导语
上一讲介绍了虚拟机是如何利用可达性算法,判断一个对象是否需要回收,而HotSpot在实现这个算法时,必须对算法的执行效率有严格的要求,才能保证虚拟机的高效运行,那么,HotSpot是如何实现的呢?
本文是Effective Java专栏Java虚拟机专题的第五讲,如果你觉得看完之后对你有所帮助,欢迎订阅本专栏,也欢迎您将本专栏分享给你身边的工程师同学。
在学习本节课程之前,建议您了解一下以下知识点:- 什么是可达性分析算法?
快速找出GC Roots
可达性分析算法需要先找到GC Roots(什么是GC Roots?),而如何在那么大的内存中找到适合当GC Roots的对象呢?如果每次GC都需要遍历全部内存,必然会消耗很多时间。