0

提问的原因,是我在看官方文档时看见这三个英文是不一样
clipboard.png

我以前以为 新生代(new generation) 和 年轻代(young generation)是同一个只是翻译导致看起来不同而已,现在看起来视乎不是这样。

至于为什么会提到伊甸园(eden space),是因为在某个博客看见了下面的描述,我感觉不太对,但我对其不是特别熟
clipboard.png

2019-07-22 提问

查看全部 3 个回答

0

已采纳

jdk1.8中没有永久代的概念,所以堆大小 = 年轻代 + 老年代
其中年轻代由一个 eden 和两个 survivor 组成,其中 from 和 to 的大小一样。

NGC:current new generation capacity 当前新生代的大小
EC: current eden capacity 当前 eden 的大小
YGC: number of young generation GC events。 新生代 gc 的次数。

顺路说下 young gc

  1. 绝大多数刚创建的对象会被分配在 eden 区。
  2. 当 eden 区满的时候,会发生 young gc,这时候会把存活的对象复制到一个survivor(记做 from)中,清理掉 eden 区无用的对象。
  3. 当 eden 再次满了的时候,再次发生 young gc,把存活对象复制到survivor(from) 中,如果survivor(from)也满了,则将survivor(from)中存活的对象复制到survivor(to)中。

推广链接