STW并不会只发生在内存回收的时候。现在程序员这么卷,碰到几次 safepoint的问题几率也是比较大的。 当发生GC时,用户线程必须全部停下来,才可以进行垃圾回收,这个状态我们可以认为JVM是安全的(safe),整个堆的状态是稳定的。 如果在GC 前,有线程迟迟进入不了safepoint,那么整个JVM都在等待这个阻塞的线程,造成了整体GC的时间变长。 Was this helpful? YesNo 0 / 0 上一篇: Java中你是如何调用wait () 方法的?使用if块还是循环?为什么? 下一篇: Java中死锁与活锁的区别,死锁与饥饿的区别? 发表回复 取消回复0 Your email address will not be published. 在此浏览器中保存我的显示名称、邮箱地址和网站地址,以便下次评论时使用。