jvm icon indicating copy to clipboard operation
jvm copied to clipboard

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

Open shenliuming opened this issue 2 years ago • 5 comments

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

shenliuming avatar Jun 16 '22 14:06 shenliuming

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

shenliuming avatar Jun 16 '22 14:06 shenliuming

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

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

yanglbme avatar Jun 16 '22 14:06 yanglbme

比如说 1 2 3 三个年龄段的总和已经满足Survivor空间的一半的最大年龄3,那么3就是“该年龄”。

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年6月16日(星期四) 晚上10:24 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [doocs/jvm] 动态对象年龄判定这里的描述是有问题! (Issue #32)

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

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

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

shenliuming avatar Jun 18 '22 09:06 shenliuming

你好: 你的邮件我会尽快看的啦!!!

lkun avatar Oct 11 '22 06:10 lkun

你好,您发的邮件我已经收到,辛苦您了!!

haimli avatar Oct 11 '22 06:10 haimli