JVM中新生代对象何时进入老年代
JVM中新生代对象何时进入老年代
今天面试中提到了这个问题,没回答全面,记录一下
关于JVM中堆(Heap)的参数设置这里有必要记录一下,有被问到
“-Xms"用于表示堆区的起始内存,等价于-XX:InitialHeapSize
“-Xmx"则用于表示堆区的最大内存,等价于-XX:MaxHeapSize
1.对象在Survivor空间正常通过复制算法进入老年代
相关参数:由MaxTenuringThreshold
决定,默认15(java对象头中年龄位为4bit)
2.空间担保
Survivor空间存不下该对象时,则直接进入老年代
3.动态年龄判断
如果在 Survivor 空间中所有相同年龄的对象,大小总和大于 Survivor 空间的50%,那么年龄大于或等于该年龄的对象就直接进入老年代,无须等到阈值中要求的年龄。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 孤寂灬无痕
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果