012. 深入JVM学习—G1收集器简介

1. 概念


  • G1收集器(Garbage First)是从 JDK 1.7 u4 版本之后正式引入到Java的垃圾收集器,此类垃圾收集器主要应用在多CPU以及大内存的服务器环境下,这样可以极大地减少垃圾收集的停顿时间,以提升服务器的操作性能。引入此收集器的主要目的是为了在将来的某一个时间内可以替换掉CMS(Concurrent Mark Sweep)收集器。

2. G1区域划分


  • G1垃圾收集器采用的是区域化、分布式的垃圾收集器。其核心思想为将整个堆内存区域划分为大小相同的子区域(Region),在JVM启动时会自动设置这些子区域的大小(区域大小范围“1M~32M”,最多可以设置2048个区域,即支持的最大内存为“32M*2048=65536M”、64G内存),这样Eden、Survivor、Tenured就变为了一系列不连续的内存区域,也就避免了全内存区域的GC操作。

  • 在G1中不再区分年轻代、老年代内存空间,所有的内存空间就一块,但是要划分出不同的子区域。

  • 只扫描部分区域,比如某几块区域的大小没变(也就是内存中没有任何东西),就不需要扫描。

G1区域划分

转载于:https://my.oschina.net/shadowolf/blog/1836404

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值