GC停顿:在可达性分析的过程中,对象引用关系不再发生变化,需要停顿所有线程(安全点)
OopMap:保存CGroots
OopMap收集数据的时机:SafePoint时
抢先式中断:
在GC发生时,把所有线程终端,如果发现有线程中断的地方不在安全点上,就恢复线程,让其执行到安全点上
主动式中断:
当GC需要中断线程的时候,不直接对线程操作,只设置一个标识,各个线程执行时主动去检查这个标识,如果发现需要中断的时候,就将自己中断挂起(检查标识和时间点是重合的)
不执行的线程无法到达安全点,将这部分代码划分到安全区域
时间: 2024-09-29 01:45:41