【发布时间】:2016-10-14 02:04:31
【问题描述】:
我正在尝试了解垃圾收集的工作原理。我清楚以下几点:
- JVM 分配对象失败时会触发 Minor GC 年轻一代。
- 列表项
JVM会触发full GC(minor+major GC) 堆已满。
但是,年轻代和年老代中不再被引用的对象,有资格进行GC,但没有触发GC(即年轻/老年代堆空间未满,因此不会发生GC)
这是否意味着这些对象将保留在年轻/老年代堆空间中,直到发生 GC?
我的阅读材料
【问题讨论】:
-
你指的是哪种GC算法?每个算法都有自己的阈值来触发major GC。 docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning
-
让我们说它是否是默认选项?并行 GC?
-
它没有解释主要 GC 发生的时间和方式。
-
上一个链接给出了分配是如何发生的,如果您正在寻找收集触发的时间,这个链接可能会有所帮助(仅适用于 CMS 收集器,其他收集器可能有自己的策略,您可以参考他们的文档)@987654326 @
标签: java memory-management garbage-collection jvm