GC之G1收集器
在jdk1.8的环境下,设置vm参数:
执行同样的代码,有如下的效果:
能看到最明显的变化,G1不再区分新生代和养老代,不像之前是3层,G1是2层。
翻看上面的打印内容:可以看到开启了G1.
G1是什么?
特点
G1底层原理
相比以前的垃圾收集器,是区域化的垃圾收集器。本质上发生了变革!
区域化垃圾收集器介绍
hum:超大对象区。
回收步骤
上面2图演示了region区域角色的轮换。
回收的4步过程
G1参数配置以及和CMS的比较
通过一个案例引入,需要修改vm参数:
执行效果:
开始的时候,按照步骤进行初始化标记。
然后执行并发标记,耗时实际上很短。
然后最终标记,确实一下是否需要回收,之后就是回收的过程。
参数配置
一般用给g1,上面这三个就可以了,其他就用默认。
G1对比CMS
JVMGC结合springboot微服务优化
这个专题是具体的使用场景,就是用于JVMGC结合springboot微服务的生产部署和调参优化。jvm调优如何落地?
tomcat不用,用Undertow(QPS远超tomcat)。从2019-4月开始
内部启动:
外部启动(重点):
根据微服务的场景,比如订单微服务需要大内存,如下图:
这就实现了定制化诉求,看一下啊jvm参数: