STW(Stop The World)
1.Stop-the-world,简称STW,指的是GC事件发生过程中,会产生应用程序的停顿。停顿产生时整个应用程序线程都会被暂停,没有任何下你响应,有点像卡死的感觉。这个停顿称为STW。
1)可达性分析算法中枚举根节点(GC Roots)会导致所有Java执行线程停顿。
2)一致性指整个分析期间整个执行系统看起来像被冻结再某个事件点上。
3)如果出现分析过程中对象引用关系还在不断变化,则分析结果的准确性无法保证。
2.被STW中断的应用程序线程会再完成GC之后恢复,频繁中断会让用户感觉是网速不块造成卡带,所以我们需要减少STW的发生。
3.STW事件和采用哪款GC无关,所有的GC都有这个事件。
4.哪怕是G1也不能完全避免Stop-the-worl情况发生,只能说垃圾回收器越来越优秀,回收效率越来越高,尽可能地缩暂停时间。
5.STW是JVM在后台自动发起和自动完成的。在用户不可见的情况下,把用户正常的工作宪曾全部停掉。
6.开发中不要用System.gc();会导致Stop-the-world的发生。
STW(Stop The World)相关推荐
- jvm的类加载和运行时数据区和垃圾回收
类加载过程 加载(loading) 引导类加载器 扩展类加载器 系统类加载器 1.通过一个类的全限定名获取此类的二进制字节流 2.将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 3.在内 ...
- JVM学习笔记之-垃圾回收相关概念 System.gc()的理解 内存溢出与内存泄漏 STW 垃圾回收的并行与并发 安全点与安全区域 再谈引用:强引用 软引用 弱引用 虚引用 终结器引用
System.gc()的理解 在默认情况下,通过System.gc()或者Runtime. getRuntime ( ).gc ()的调用,会显式触发Full GC,同时对老年代和新生代进行回收,尝试 ...
- HBase实战:记一次Safepoint导致长时间STW的踩坑之旅
本文记录了HBase中Safepoint导致长时间STW此问题的解决思路及办法. 上篇文章回顾:HBase Replication详解 过 程 记 录 现象:小米有一个比较大的公共离线HBase集群 ...
- JVM之垃圾回收 II ——方法区和堆区的垃圾回收、STW
垃圾回收 II 一.方法区(jdk1.7)/元空间(jdk1.8) 1.永久代和元空间的关系: 2.方法区/元空间的垃圾回收内容 3.方法区/元空间垃圾回收的方式 二.堆 1.GC堆的划分 2.堆区G ...
- JVM基础:什么是STW?
今天笔试题,出了个STW,咱是见也没见过,漏了怯了 无语,仔细回忆了下,知道Stop-The-World这个词,不知道SWT,无语 文章目录 STW:Stop-The-World STW概念 进入SW ...
- STW(stop the )
1.Stop The World Stop一the一World,简称STW,指的是Gc事件发生过程中,会产生应用程序的停顿.停顿产生时整个应用程序线程都会被暂停,没有任何响应,有点像卡死的感觉,这个停 ...
- Java虚拟机中STW(stop the world)是什么意思
Stop-the-World,简称STW 1.指的是GC事件发生过程中,会产生应用程序的停顿.停顿产生时整个应用程序线程都会被暂停,没有任何响应, 有点像卡死的感觉,这个停顿称为STW. (1)可达性 ...
- 对System.gc() 和STW的理解
System.gc() 的理解 在默认情况下,通过System.gc() 或者Runtime.getRuntime().gc()的调用,会显示的触发Full GC,同时对老年代和新生代进行回收,尝试释 ...
- 【JVM】对象存活判定算法、GC算法、STW、GC种类详解
[JVM]对象存活判定算法.GC算法.STW.GC种类详解 文章目录 [JVM]对象存活判定算法.GC算法.STW.GC种类详解 GC主要关注的区域 垃圾标记阶段:对象存活判断 标记阶段:引用计数算法 ...
- 【ZGC】为什么初始标记需要STW(stop the world) ?
提出问题: 学习过 JVM 的同学应该都知道,目前并发垃圾回收器(CMS.G1.ZGC)针对并发标记的典型处理都是初始标记.并发标记和再标记.其中初始标记和再标记需要STW(stop the worl ...
最新文章
- sql优化ppt_一款跨平台免费的开源 SQL 编辑器和数据库管理器!
- 2019-2021年中国AI芯片市场预测与展望数据
- 1、java集合:java集合详解及类关系图
- python多线程同步与互斥_Python之多线程:线程互斥与线程同步
- 波士顿动力副总给我写了一封信,在我莫名膨胀之后
- 陈一舟:每个人风口来的时间不一样
- php 调用vnc协议,Centos7下部署VNC(示例代码)
- php数字补零的两种方法
- 树莓派上使用QT+ffmpeg进行音频编码+部署自启动+双击不启动问题
- servlet篇 之servlet实现
- 凌晨3点回去后的想法
- diskgenius创建efi分区_怎么创建efi系统分区?efi系统分区创建教程
- 使用ydui框架报错[Vue warn]: Invalid prop: custom validator check failed for prop color.
- LTE-TDD资源调度(1)-QCI、GBR和Non-GBR
- Robcup2D足球学习记录【2020.01.18】
- 批量关闭公众号推送_微信发大招,长期不读的公众号可“批量关闭”!
- MySQL 服务器是什么_什么是 MySQL?
- CAD怎么去掉右上角的搜索及用户信息工具条
- NaN == NaN , NaN === NaN 为啥是false?
- AR/VR在医疗领域的应用