Stop-the-World[GC用]

1、JVM由于要执行GC而停止应用程序的执行

2、任何一种GC算法中都会发生

3、多数GC优化都可以通过减少Stop-the-World发生的时间来提高程序性能,达到高吞吐,低停顿的特点

 

Safepoint[可达性分析用]

在可达性算法的可达性分析中,分析对象的引用必须在一个快照点进行,在这个点所有的线程都被冻结。不能出现在分析过程中对象的引用关系还产生变化的情况。需要确保程序具有安全性,因此设置了安全点。

一旦GC发生,都让所有的线程跑到最新的安全点,再停顿下来,如果有没到达的安全点的,就恢复线程,等待到达后再进行处理

 

1、分析过程中对象引用关系不会发生变化的点

2、产生SafaPoint的地方:方法调用,循环跳转,异常跳转

3、安全点数量适中