核心设计思路
把内存拆分成多个大小的Regin
追踪每个Regin 的内存大小以及回收的预估时间
回收时控制垃圾回收的时间在预估范围内,同时回收尽可能多的垃圾对象
参数
使用G1 -XX:+UseG1GC 每个region 大小%2048,必须是2的倍数
XX:G1NewSizePercent 设置新生代内存大小 初始状态默认是5%
-XX:G1MaxNewSizePercent 新生代不超过60%
新生代回收后region 的数量会减少
-XX:SurvivorRatio 定义Eden 和Survivor 的区域,默认是8 代表 Eden 占用80% 两个survior 各占10%