028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

[JVM相关]Java新型垃圾回收器(GarbageFirst,G1)

回顾传统垃圾回收器
G1目标

G1 is planned as the long term replacement for the Concurrent Mark-Sweep Collector. 计划将G1作为CMS收集器的长久替代物。

它是为了平衡 延时和吞吐量之间的一种最优关系。

G1实现原理
基本属性
和CMS的相同点 和CMS的主要区别
基本概念

G1将堆分成若干固定大小的Region/区域(区域大小只有1、2、4、8、16和32M),G1的新生代和老年代都是一个无需连续的区域集合,每一个区域独立进行内存的分配和回收,区域是内存管理的基本单元,在某一个时间节点,可能是空闲的,当内存被请求时,内存管理器将空闲的Region分配到某个分代,然后归还应用分配给的空间。

大多数情况下,GC的操作同一时间只会在一个区域进行。

[JVM 相关] Java 新型垃圾回收器(Garbage First,G1)

G1指令细节
初始空间占用

Initiating Heap Occupancy Percent(IHOP): Initial Mark 收集触发的阈值,为老年代空间定义Heap占用的百分比。

JVM 设置参数:-XX:InitiatingHeapOccupancyPercent

默认情况下,根据标记时间以及老年代在标记周期中的内存分配,G1垃圾收集器将自动抉择理想的IHOP的值。

JVM 失效参数:-XX:-G1UseAdaptiveIHOP

修改区域空间大小

-XX:G1HeapRegionSize

[JVM 相关] Java 新型垃圾回收器(Garbage First,G1)

G1 Vs. 传统垃圾回收器

网站栏目:[JVM相关]Java新型垃圾回收器(GarbageFirst,G1)
标题路径:http://www.tsicrk.com/article/joidjh.html

其他资讯

让你的专属顾问为你服务

2.2470s