JVM系列之STW、并行与并发、安全点与安全区域

本文详细解释了JVM中的Stop The World(STW)现象,强调了减少STW时间和次数的重要性。讨论了程序中的并行与并发概念,并对比了垃圾回收器中的并行与并发执行方式。同时,文章阐述了安全点和安全区域的概念,这两个机制确保了在垃圾回收过程中能够适时地暂停线程,保证了GC的正确执行。
摘要由CSDN通过智能技术生成

封面

前言

在平时实际工作中,其实接触 JVM 的机会比较少,而学习 JVM 时,大部分时候也是看书或者网上看博客教程,然而在学习过程中,经常会碰到很多陌生的名词,难以理解,尤其是在垃圾回收器中,因此本文找了几个和垃圾回收器相关知识中联系比较紧密的名词解释一下。

Stop The World

「Stop The World」 简称 STW,它指的是程序在运行过程中,在发生 GC 的过程中,会让所有的用户线程都暂停下来,此时对应用程序而言,相当于整个程序都停止运行了,因此称之为 Stop The World。STW 这个过程是 JVM 在后台自动发起和自动完成的,在用户不可见的情况下,将所有应用程序停顿下来。

尽管目前存在很多垃圾回收器,并且新的垃圾回收器的效率越来越高,但是目前为止,所有的垃圾回收器都无法避免 STW,即使是号称低延时的 「CMS」「G1」 垃圾回收器,也存在 STW。这是因为在标记阶段,使用可达性分析算法进行分析时,整个应用程序的数据都应该处于「一致性视图」当中,这是为了保证可达性分析算法的准确性,因此需要暂停所有的用户线程。

显然 STW 对应用程序十分不友好,「STW 的时

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值