什么是STW
STW 全称:Stop-The-World。之前看综艺节目,记忆深刻的一句话:给我一个全世界最高的高音,这里可以理解为让这个世界闭嘴。每次GC时间发生过程中,应用程序会产生停顿,在这个停顿的时间段(时间很短)java所有线程都是停止的(除了GC线程,不然怎么回收垃圾)
什么时候会触发STW
可达分析算法中枚举根节点(GC Roots)会导致所有java所有执行线程停顿
产生STW的原因
- 分析工作必须在一个能确保一致性的快照中进行,这里的一致性的意思是指在整个分析期间整个执行系统看起来就像被冻结在某个时间点上,不可以出现分析过程中对象引用关系还在不断改变的情况,该点不满足的话分析结果准确性就无法得到保证
版权声明:本文为weixin_54046648原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。