垃圾收集器 - Stop the world

在垃圾回收过程当中须要将应用程序的线程暂停称之为Stop-The-World Event(STW)java

所谓的Stop the World机制,简称STW,即在执行垃圾收集算法时,Java应用程序中除垃圾收集器线程以外的线程都被挂起。
此时,系统只能容许GC线程进行运行,其余线程则会所有暂停,等待GC线程执行完毕后才能再次运行。
这些工做都是由虚拟机在后台自动发起和自动完成的,是在用户不可见的状况下把用户正常工做的线程所有停下来,这对于不少的应用程序,尤为是那些对于实时性要求很高的程序来讲是难以接受的。
可是有些时候对于虚拟机来讲采用Stop the world机制是没法避免的,例如采用复制算法时,为了保证在复制存活的对象的时候,对象的一致性,必然要使应用程序被挂起。
可是随着java虚拟机的发展,HotSpot虚拟机团队为达到更好用户体验而一直进行着努力,不断的对垃圾收集器进行着改进,
随着JDK的版本的不断更新,更好的垃圾收集器的出现,用户线程的停顿时间也在不断缩短,虽然这一时间现阶段仍然不能消除,但相信不久的将来必定会有更好的垃圾收集器被发现,从而彻底达到用户对于虚拟机垃圾回收的性能要求。算法

参考:
http://colobu.com/2015/04/14/Java-GC-memo/#Stop-The-World_Event
https://blog.csdn.net/sinat_25306771/article/details/52374498性能

相关文章
相关标签/搜索