安全点

来源:9-3 synchronized底层实现原理-2

qq_灬Mamba磊_0

2019-02-25

视频里前面说的安全点? 前面有说过吗?

写回答

1回答

翔仔

2019-02-26

同学好,在GC章节里说过了SafePoint即安全点的含义。

以下是原文

"      Jvm垃圾回收就好比是保洁阿姨在打扫卫生,如果一边打扫,一边有人扔垃圾该怎么处理呢? 其实很简单,保洁阿姐在开始打扫前,就和所有人说:我要打扫了,你们不准扔垃圾了;这样就解决了! 那在jvm垃圾回收中,上面的情景怎么处理呢?在可达性分析中要分析哪个对象没有引用的时候,必须在一个快照的状态点进行,在这个点所有的线程都被冻结了;不可以出现分析过程中对象引用关系还在不停的变化的情况;因此分析结果需要在某个节点具备确定性。 该节点便叫做安全点;程序不是随便哪个点就会停顿下来了,而是到达安全点才会停顿下来;安全点的选择既不能太少,因为太少会让GC等待太长的时间,也不能太多,因为太多会加程序运行的负荷;一般在方法调用;循环跳转;异常跳转等才会产生安全点;如果GC发生时候,让所有的线程都跑到最新的安全点再停顿下来;如果发现线程不在安全点;就恢复线程,等其跑到安全点;"

1
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程