Minor GC

Minor GC:当Eden区所剩空间,不满足分配需求时,就会触发Minor GC。

Full GC

当进行Minor GC时,会预测老年代能否承受得住新生代晋升的空间,预测的行为是对比当前老年代所剩空间大小和以往Minor GC平均晋升空间大小或者对比当前老年代所剩空间大小和年轻代存活对象总空间(二者是或的关系,成立一个即可),大于的话,预测是可以通过的,就只进行一次Minor GC。小于的话,预测是无法通过的,就要进行一次Full GC,对整个堆进行一次回收(其中也会包括对Eden、Survivor区的回收),当然我理解,本次Minor GC也就被Full GC代替。

以上只是预测,实际情况还可能出现预测大于,实际小于的情况,这种情况下就会出现【担保失败】的情况,还会引发一次Full GC。

永久代(或者可是说是方法区的实现)满了,也会触发full gc

对比可以看出,从JDK7以后,就不再使用 younger_handles_promotion_failure 变量,并且逻辑默认是打开的。

CMS GC

其实取这个名字不是很合适,只是为了突出是CMS的GC。因为CMS是老年代回收器,所以对应的GC应该是Old GC。CMS GC的监控条件是老年代的使用率,对应的配置是

-XX:CMSInitiatingOccupancyFraction

Mixed GC

G1回收器独有的回收方式

-XX:InitiatingHeapOccupancyPercent

参考

java中gc触发的条件,各种gc触发条件统计相关推荐

  1. Java中 9 种常见的 CMS GC 问题分析与解决

    目录 Java中 9 种常见的 CMS GC 问题分析与解决 1. GC 1.1 引言 1.2 概览 2. GC 基础 2.1 基础概念 2.2 JVM 内存划分 2.3 分配对象 2.4 收集对象 ...

  2. 美团技术总结:Java中9种常见的CMS GC问题分析与解决

    1. 写在前面 | 本文主要针对 Hotspot VM 中"CMS + ParNew"组合的一些使用场景进行总结.重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省 ...

  3. 美团技术:Java中9种常见的CMS GC问题分析与解决

    目前,互联网上 Java 的 GC 资料要么是主要讲解理论,要么就是针对单一场景的 GC 问题进行了剖析,对整个体系总结的资料少之又少.前车之鉴,后事之师,美团的几位工程师历时一年多的时间,搜集了内部 ...

  4. Java中的gvm_深入浅出GVM之GC

    一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率 ,才能提高整个应 ...

  5. java中去重方法for循环,Set,TreeMap统计数量

    java中去重的三种方法(for循环,Set,TreeMap) 看文章看看荤段子先,一女和两个男的在网吧玩吃鸡,一局游戏完毕,女的问其中一个男生,你觉得吃鸡中哪把枪最好,男回答:"当然是AW ...

  6. java gc日志乱码_Java中9种常见的CMS GC问题分析与解决(四)

    目前,互联网上 Java 的 GC 资料要么是主要讲解理论,要么就是针对单一场景的 GC 问题进行了剖析,对整个体系总结的资料少之又少.前车之鉴,后事之师,美团的几位工程师历时一年多的时间,搜集了内部 ...

  7. java中一个引人深思的匿名内部类

    前两天去面试javaweb问到一个问题,在你的项目中有没有用到线程,我特么的一想,这东西不是在c层面的吗,所以说我不了解线程..... 后来回去想啊想啊,我操这特么的不是再问我事物的控制,消息队列的回 ...

  8. Java中finalize()方法的使用

     1.finalize()方法是什么? finalize()方法是Object类提供的方法,在GC(垃圾回收器)准备释放对象所占用的内存空间之前,它将首先调用finalize()方法.其在Object ...

  9. Java 中的语法糖,真甜。

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 我们在日常开发中经常会使用到诸如泛型.自动拆箱和装箱.内部 ...

最新文章

  1. pandas中DataFrame的apply()方法和applymap()方法,以及python内置函数map()
  2. 计算机应用常用的30个函数,Excel中常用函数的使用
  3. 信息学奥赛一本通 1088:分离整数的各个数 | OpenJudge NOI 1.5 28:分离整数的各个数位
  4. 腾讯PHP工程师面试题两份
  5. SpringBoot中的定时任务和异步任务
  6. python下载百度文库文档_简单实用的下载百度文库文档的方法
  7. dsoframer java_[转]内嵌WORD/OFFICE的WINFORM程序——DSOFRAMER使用小结
  8. Spring 常用的注解
  9. 【JSP】 # JSP入门及简单概述
  10. Native Instruments Maschine 2 v2.14.7 WiN-MAC 节奏音乐制作软件含拓展
  11. 数独android程序,Android-数独世界自动完成标准数独的小脚本
  12. LeetCode 0799. 香槟塔
  13. JAVA音程_桌面应用|与 Linux 一起学习:学习音乐
  14. cardboard下载_如何在Android上设置Google Cardboard
  15. 视频聊天网站的研究、发展以及趋势
  16. 李飞飞计算机视觉课CS231n第二天
  17. Box2D和Chipmunk的一些对比
  18. IDEA 2020报“java:程序包XXXX不存在”或“java:找不到符号”,在idea中使用Tomcat部署项目报找不到包,Maven compile能过,idea build失败问题
  19. VTD链接不到license
  20. Jenkins+Jmeter+Ant 生成接口测试报告并发送邮件

热门文章

  1. docker安装nginx,配置nginx,并成功访问
  2. 【Fiddler 问题】解决关于Fiddler 抓包中,手机网络配置代理后,无法上网
  3. 【安卓开发】启动另一个 Activity
  4. C#LeetCode刷题之#155-最小栈(Min Stack)
  5. C#LeetCode刷题之#160-相交链表(Intersection of Two Linked Lists)
  6. Weblogic11g安装部署-winserver篇
  7. Mac下matplotlib中文显示
  8. 用朴素的英语解释9种关键机器学习算法
  9. 一年前端开发工程师简历_一年前,我开始学习编码,专注于前端开发。
  10. mybatis映射longtext类型数据_全网首例全栈实践(五)Spring Boot 集成Mybatis