G1GC

Xmx最大堆内存  Xms初始堆内存   Xmn新生代内存  Xss栈内存

执行过程
和CMS类似,都是 1、初始标记;2、并发标记;3、最终标记;4、筛选回收

什么情况使用G1
运行CMS或者parallel gc的程序,如果有以下特征,那么切换为G1 GC会更为高效:

  1. 超过50%的Java堆被活动对象占据
  2. 对象分配的频率、对象在代之间变换的频率非常频繁
  3. 应用程序有过预期之外的长GC暂停或者压缩暂停(超过0.5秒,在1秒之内。如果超过1秒就应该怀疑是不是GC的参数配置问题了)

CMS会产生大量内存碎片,而G1对整个堆进行管理,单独分配内存,划分为多个region
G1从长期规划上讲是CMS的继任者。G1的处理gc的方式比CMS更加优秀。
一个重大的差别是G1是一种压缩处理gc
G1提供可被预测的gc暂停,也允许用户来指定要满足的暂停指标
相比,G1的设计是为了满足应用程序更少的GC暂停时间的目标

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载blog.csdn.net/ning109314/article/details/10411495/ JVM工...
    forever_smile阅读 5,408评论 1 56
  • JVM架构 当一个程序启动之前,它的class会被类装载器装入方法区(Permanent区),执行引擎读取方法区的...
    cocohaifang阅读 1,702评论 0 7
  • 原文阅读 前言 这段时间懈怠了,罪过! 最近看到有同事也开始用上了微信公众号写博客了,挺好的~给他们点赞,这博客我...
    码农戏码阅读 6,030评论 2 31
  • 作者:一字马胡 转载标志 【2017-11-12】 更新日志 日期更新内容备注 2017-11-12新建文章初版 ...
    beneke阅读 2,237评论 0 7
  • 第一章 概述 G1(Garbage First)垃圾收集器是当今垃圾回收技术最前沿的成果之一。早在JDK7就已加入...
    城市里永远的学习者阅读 1,159评论 0 50