|
|
1
7
变量首先不是GC。 引用类型的对象 是GC'd。那些物体 包含 变量,但它是 对象 其被收集。
不,不要用变量来思考。从对象的角度思考。新分配的对象进入第0代。如果该对象在一个集合中存活,则将其移动到第1代。如果它在另一个集合存活,则移动到第2代。
现在你知道为什么打电话了
当您将int传递给
同样,您的问题表明您认为GC正在查看 变量 . 不是 .它正在研究 引用类型的对象 .
对例如,非常大的数组是从一个特殊的“大对象堆”中分配的。“超大”基本上是指85KB或更大数量级的任何对象。大型对象堆(1)未压缩,并且(2)仅在常规堆进行gen2收集时收集。 |
|
|
2
1
第0代和第1代需要较小,以便快速收集。为了使它们保持较小,在第2代中直接分配非常大的对象。 |