gpt4 book ai didi

java - 垃圾收集 - 老一代

转载 作者:行者123 更新时间:2023-12-01 22:04:53 25 4
gpt4 key购买 nike

我正在学习垃圾收集的工作原理。

我对年轻一代很清楚,但对老一代则不清楚

当老年代已满并且执行Major GC时会发生什么?

是否所有存活或死亡的对象都会从老年代中删除,还是仅删除死亡的对象?

如果老年代中的所有对象在主要 GC 时都处于 Activity 状态,那么会发生什么?它会抛出 OutOfMemoryError 吗?

最佳答案

年轻代:大多数新创建的对象都位于此处。由于大多数对象很快就会变得无法访问,因此许多对象在年轻代中创建,然后消失。当对象从该区域消失时,我们说发生了“minor GC”。

老年代:未变得不可达且从年轻代中幸存下来的对象被复制到这里。它通常比年轻一代更大。由于它的大小更大,GC 发生的频率比年轻代要少。当对象从老年代消失时,我们说发生了“major GC”(或“full GC”)。

OldGen:这个池基本上包含终身和虚拟(保留)空间,并将保存从 YoungGen 空间进行垃圾回收后幸存的对象。

如果老年代满了,就会抛出OOM

Q & A

当老年代已满并且执行Major gc时,会发生什么? 对象从内存中删除。

是否所有存活或死亡的对象都会从老年代中删除,还是仅删除死亡的对象? 仅删除死对象,仍然引用的对象仍然存在于旧对象中

如果老年代中的所有对象都是 Activity 的,那么会发生什么?

Does it throws OutOfMemoryError? OOM will be thrown

关于java - 垃圾收集 - 老一代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com