参考答案
- 为减少对象引用的扫描,使用 OopMap的数据结构在特定的位置,记录下栈里和寄存器里哪些位置是引用。
- 为避免给每条指令都生成 OopMap记录占用大量内存的问题,只在特定位置记录这些信息。
- 安全点的选定不能太少、以免让收集器等待时间过长,也不能太过频繁、以免过分增大运行时的内存负荷。安全点位置的选取,基本上是以“是否具有让程序长时间执行的特征”为标准进行选定的,如方法调用、循环跳转、异常跳转等都属于指令序列复用。
以上,是JVM面试题【safepoint是什么】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—