Stop-the-World,简称STW

1、指的是GC事件发生过程中,会产生应用程序的停顿。停顿产生时整个应用程序线程都会被暂停,没有任何响应, 有点像卡死的感觉,这个停顿称为STW。

(1)可达性分析算法中枚举根节点(GC Roots)会导致所有Java执行线程停顿。
① 分析工作必须在一一个能确保一 致性的快照中进行
② 一致性指整个分析期间整个执行系统看起来像被冻结在某个时间点上
③ 如果出现分析过程中对象引用关系还在不断变化,则分析结果的准确性无法保证

(2)被STW中断的应用程序线程会在完成GC之后恢复,频繁中断会让用户感觉像是网速不快造成电影卡带一样, 所以我们需要减少STW的发生。

2、STW事件和采用哪款GC无关,所有的GC都有这个事件。

3、哪怕是G1也不能完全避免stop-the-world情况发生,只能说垃圾回收器越来越优秀,回收效率越来越高,尽可能地缩短了暂停时间。

4、STW是JVM在后台自动发起和自动完成的。在用户不可见的情况下,把用户正常的工作线程全部停掉。开发中不要用System.gc() ;会导致stop-the-world的发生。

减少系统的停顿时间(STW)的算法

看完面试就够了-- JVM垃圾回收篇(Garbage Collection)分享 【图文并茂】

有用点个关注,手留余香!

Java虚拟机中STW(stop the world)是什么意思相关推荐

  1. Java虚拟机规范阅读(二)IEEE754简介以及Java虚拟机中的浮点算法

    什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表达实数.典型的比如相对于浮点数的定点数(Fixed Point Number).在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置 ...

  2. Java虚拟机中的栈和堆

    Java虚拟机中的栈和堆 简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存. 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配. 当在一段代码块定义一个变量时,J ...

  3. 深入理解Java虚拟机--中

    深入理解Java虚拟机--中 第6章 类文件结构 6.2 无关性的基石 无关性的基石:有许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关的字节码(ByteCode),从而 ...

  4. Java虚拟机(四)—— Java虚拟机中的对象

    1. Java 对象在虚拟机中的生命周期 在 Java 对象被类加载器加载到虚拟机中后,Java 对象在 Java 虚拟机中有 7 个阶段. 1.1 创建阶段(Created) 创建阶段的具体步骤为: ...

  5. 虚拟主机可以运行java_下面哪种类型的文件可以在Java虚拟机中运行( ).

    下面哪种类型的文件可以在Java虚拟机中运行( ). 答:.class 舌尖前送气清塞擦音是 答:c 中国大学MOOC: 已知 [X]原=10101100,[Y]补=11000110, 求 [X+Y] ...

  6. Java虚拟机中类加载机制详解

    Java虚拟机中类加载机制详解 1,什么是java类加载机制 **首先在java中,是通过编译来生成.class文件(可能在本地,或者网页下载),java的类加载机制就是 将这些.class文件加载到 ...

  7. Java虚拟机中的内存模型?JSP常用的动作标签及作用? 如何防止表单重复提交问题? JSP四大作用域及请求范围? 分别说出http,https,ftp,talnet的默认端口?

    文章目录 一 ,Java虚拟机中的内存模型JVM? 1,Java堆 2,方法区 3,Java栈 4,本地方法栈 问题扩展: 二 , JSP常用的动作标签及作用 (1)问题分析: (2)核心答案讲解: ...

  8. 虚方法调用在Java虚拟机中的实现方式?

    写在前面 本文隶属于专栏<100个问题搞定Java虚拟机>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100个问题搞定Java ...

  9. java虚拟机中参数的使用和具体介绍

    命名 java - 启动一个Java应用程序 简介 要启动一个类文件. java[options] mainclass [args -]. 要启动JAR文件中的主类. java[options] -j ...

最新文章

  1. 施一公:西湖大学评审终身副教授不看文章数,而是看你能不能讲好一个故事...
  2. 人的一生应当这样度过
  3. codeforces 拼手速题2
  4. Java获得泛型类中T的实例
  5. python计算组合数_Python实现的排列组合计算操作示例
  6. 使用 Hexo + Next 搭建静态博客
  7. MongoDB学习笔记三:查询
  8. php模拟远程提交get 、post 实例函数
  9. 巧用开源软件做好企业管理
  10. 【NOIP2015】【Vijos1979】信息传递(有向图最小环大小)
  11. web标准设计工具:代码本地校验软件A Real Validator(附注册码)
  12. python 安卓应用层_Android应用层源码阅读笔记--Application
  13. 解决百度文库不能复制最简单方法
  14. ImportError: Unable to import required dependencies: pytz: No module named ‘pytz‘
  15. 图像频率域分析之频域谱(FDE)
  16. 网线接法简述(直通线、交叉线以及全反线)
  17. JS每晚24:00更新某方法
  18. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.cy.jty.mapper
  19. 华为机试2021答案
  20. 为什么要用转型?转型的意义?

热门文章

  1. 记录linux的内网穿透frp操作
  2. OneNav开源导航系统 简约导航/书签管理器
  3. 【kubernetes/k8s概念】多集群联邦 kubefed 用户向导
  4. 合振动的初相位推导_如何确定合振动的初相位
  5. Simbla:网站建设者的另一种方法
  6. Linux usb子系统 _usb-skeleton.c精析
  7. 【IDEA 报错 ERROR 16720 --- [ restartedMain] o.a.coyote.http11.Http11NioProtocol : Failed to sta】
  8. 微信接口php oa,你必须了解OA与微信结合的几种方式
  9. 嵌入式工程师学习第一天
  10. python 成绩查询_Python3实现自动查询成绩(主要使用的包有Tesseract-OCR、PIL、execjs、pytesseract、BeautifulSoup)...