doocs / jvm

🤗 JVM 底层原理最全知识总结

Home Page:https://doocs.github.io/jvm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

动态对象年龄判定这里的描述是有问题!

shenliuming opened this issue · comments

周志明老师的描述:
如果当前新生代的 Survivor 中,相同年龄所有对象大小的总和大于 Survivor 空间的一半,年龄 >= 该年龄的对象就可以直接进入老年代,无须等到 MaxTenuringThreshold 中要求的年龄。
实际上,经过测试的结论:
如果当前新生代的Survivor中,年龄小到大(1,2,3,4,5,N)的对象所有对象的大小总和大于Survivor空间的一半,年龄N >=该年龄的对象就可以直接晋升到老年代,无须等到MaxTenuringThreshold中要求的年龄。

这里的动态年龄判定,指的就是年龄N的动态,不是指相同年龄的所有对象,目的都是为了减少GC。

= 该年龄的对象就可以直接进入老年代,无须等到 MaxTenuringThreshold 中要求的年龄。
实际上,经过测试的结论:
如果当前新生代的Survivor中,年龄小到大(1,2,3,4,5,N)的对象所有对象的大小总和大于Survivor空间的一半,年龄N >=该年龄的对象就可以直接晋升到老年代,无须等到MaxTenuringThreshold中要求的年龄。

那你这里的“年龄N >=该年龄的对象就可以直接晋升到老年代”,“该年龄”指的是哪个年龄?