gpt4 book ai didi

java - Young , Tenured 和 Perm 一代

转载 作者:IT老高 更新时间:2023-10-28 20:21:55 26 4
gpt4 key购买 nike

我对 Heap、Young、Tenured 和 Perm 一代感到困惑。

谁能解释一下?

最佳答案

Java 垃圾收集器被称为通用垃圾收集器。应用程序中的对象存在不同的时间长度,具体取决于它们的创建位置和使用方式。这里的关键见解是,对短期和长期对象使用不同的垃圾收集策略可以针对每种情况专门优化 GC。

粗略地说,随着对象在年轻一代中“存活”重复的垃圾回收,它们被迁移到老一代永久生成是一种特殊情况,它包含 JVM 所需的对象,但不一定在程序中表示,例如表示类和方法的对象。

由于年轻一代中通常会包含大量垃圾,因此针对一次摆脱大量未使用的对象进行了优化。 Tenured Generation 因为它包含生命周期更长的对象,所以针对快速垃圾收集进行了优化,而不会浪费大量内存。

随着垃圾收集技术的改进,细节变得相当复杂,并且取决于您的 JVM 及其配置方式。您应该阅读 documentation如果您需要确切了解正在发生的事情,请针对您正在使用的特定 JVM。

也就是说,有一个简单的历史安排,这在概念层面上仍然有用。从历史上看,年轻一代将是 copy collector Tenured Generationmark and sweep collector . 复制收集器基本上不需要 CPU 成本来清除垃圾,大部分成本是维护 Activity 对象,这种效率的代价是更重的内存使用。 标记和清除收集器会为 Activity 对象和未使用对象支付一些 CPU 成本,但会更有效地利用内存。

关于java - Young , Tenured 和 Perm 一代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2070791/

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