在原文基础上重新绘制了一下进行Young GC 、Full GC 的条件及处理过程(原文链接 https://blog.csdn.net/dingshuo168/article/details/98790647)

为了方便记忆,我把图逐步简化为,下列三幅图:

看着图3,我来写出过程:

  1、左5型,绕过了空间担保(绕过紫色框),直接进行了Young GC。不用空间担保,意味着Young GC后,即使新生代所有的对象都存活,也都可以放入老年代,所以只会进行Young GC

  2、锚型,空间担保成功(跨越紫色框),先Young GC,后Old GC(也可能不进行)。空间担保成功,意味着Young GC后,大概率老年代空间够晋升对象用,不需要进行Old GC,那么先进行Young GC吧,Young GC过程中会有一部分对象晋升到老年代,这时候有两种情况:

  (情况1)、发现老年代空间不够,只能转而进行 Old GC ,然后接着YoungGC。

  (情况2)、老年代空间够,不用Old GC

  3、中5少横型,空间担保失败(分叉于紫色框),先Old GC ,后Young GC。空间担保失败,意味着Young GC后,大概率老年代空间不够晋升对象用,需要进行Old GC。那么先进行Old GC吧,Old GC完成后进行Young GC(大家别忘记为什么要进行Old GC,是为了更好的进行Young GC,免得先进行Young GC到一半才发现空间不够用,再来Old GC)

好了,我看着图3,把大概的流程写完了。大家仔细看最上面的详细流程图,相信最后也能想着图3 ,写出整个流程

本文是《从 0 开始带你成为JVM实战高手》内容总结,版权问题,特此声明

如果购买,成功后加QQ群找群主返现10元

史上最强图,图解:大厂面试题,Young GC和Full GC分别在什么情况下会发生?相关推荐

  1. 038、JVM实战总结:200小时积累,6小时烹制,史上最强图,图解:大厂面试题,Young GC和Full GC分别在什么情况下会发生?

    今天学习本讲,按照艾宾浩斯遗忘曲线应该复习:37 35 31 24 9.建议大家按照遗忘曲线来复习学过的内容. 这是本人花了6个小时,精心绘制的"垃圾回收"活动图,同时进行了文字总 ...

  2. 转:史上最强《软件工程师面试题》答案

    原文见:http://www.oschina.net/bbs/thread/18013 一,选择题(皆为单选): 1,以下谁是二进制思想的最早提出者? a,伏羲:b,姬昌:c,莱布尼茨:d,柏拉图. ...

  3. PB做的史上最强的矢量图监控软件(什么组态软件与监控软件的核心都源于此原理)...

    PB做的史上最强的矢量图监控软件(什么组态软件与监控软件的核心都源于此原理)<?xml:namespace prefix = o ns = "urn:schemas-microsoft ...

  4. JVM面试题(史上最强、持续更新、吐血推荐)

    JVM面试题(史上最强.持续更新.吐血推荐) 文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : <尼恩Java面试宝典& ...

  5. JVM面试题(史上最强、持续更新、推荐)

    史上最全 Java 面试题:JVM 篇 社群交流的面试真题 面试真题1:元空间会产生内存溢出么?在什么情况下会产生内存溢出? 具体问题:元空间会产生内存溢出么?在什么情况下会产生内存溢出?. java ...

  6. 【CV中的注意力机制】史上最强ResNet变体--ResNeSt

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [前言]:我们前面已经详细介绍了Attention机制和视觉注意力机制在图像分类结 ...

  7. 【经典干货】GitHub标星10万+,史上最强Google面试指南!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 一位从1997年就入行的Web工程师,立志要成为Google软件工程师,3年前写下 ...

  8. 苹果史上最强芯片竟然是个“组装货”!iPhone SE涨价,13系列是真绿了

    金磊 明敏 博雯 发自 凹非寺 量子位 | 公众号 QbitAI 今年的苹果春季发布会,库克依旧线上"高能传送". 而在此前一波火热的"发布M2芯片"预测声中, ...

  9. 【整理】史上最强的娱乐大餐———九奔、汉澳、器普。。。。。。

    按: 本文内容来源于:http://shouji88.com/msg_list.cgi?bbs_id=000001                               http://shouj ...

最新文章

  1. 求数列的和 AC 杭电
  2. SQL Case When Then 条件判断
  3. iOS容易造成循环引用的三种场景,就在你我身边!
  4. ddnspod php 脚本_使用DNSPOD的域名解析实现DDNS域名动态的脚本
  5. linux c 写文件 换行符,[Linux文件]带回车换行的写入字符串实例
  6. 常用浏览器的编码设置
  7. 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!在eclipse.ini中为eclipse指定jdk启动...
  8. [Java] 1010. Radix (25)-PAT甲级
  9. TCP/IP学习笔记(2)-数据链路层
  10. git pull keeping local changes
  11. 解决斑马打印机打中文的问题
  12. TD041S485H完全兼容ISO3080, ISO3086 ISO3082, ISO3088
  13. 账结法”、“表结法”两种财务会计处理方法
  14. mongodb 配置文件
  15. php 怎么打出来的,word书名号怎么打出来
  16. 解决error while accessing a target resource. resource is perhaps not available or a wrong access was
  17. 商城系统必备营销工具(五)——积分商城
  18. 替换node-sass为dart-sass
  19. 谷歌黑客搜索看这些就够了!
  20. px4调用Gazebo实现四旋翼定点悬停到时降落

热门文章

  1. 游戏盒子源码_如何用8K电视盒子组建“家庭影院”(设备入门篇)
  2. java去掉mongodb日志_JAVA开发 Mongodb3.0以上 去掉控制台DEBUG信息
  3. Struts里面的拦截器(针对的是外部调用本系统里面的接口方法)
  4. java实体类设计_java实验1 实体类的设计-答案
  5. java集群_「Java知识」MyCat的图文视频讲解,MyCat分片集群分表分库策略
  6. mysql数据库应用模式与特点_MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述...
  7. android 广告close,小程序广告弹出与关闭
  8. jvm最大最小内存参数设置
  9. JS将Date加八小时
  10. mysql 连接qt5.2_Qt5.2 连接MySQL数据库