STW并不会只发生在内存回收的时候。现在程序员这么卷,碰到几次 safepoint的问题几率也是比较大的。
当发生GC时,用户线程必须全部停下来,才可以进行垃圾回收,这个状态我们可以认为JVM是安全的(safe),整个堆的状态是稳定的。
如果在GC 前,有线程迟迟进入不了safepoint,那么整个JVM都在等待这个阻塞的线程,造成了整体GC的时间变长。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.