- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道当 Age 大于 MaxTenuringThreshold 时,长期幸存者将进入老年代。但是我读过的一本书说,也是当 Survivor 空间中相同年龄的所有对象的大小大于一半时一个Survivor空间。那么问题是这个Survivor空间是SO还是S0 + S1?为什么不是 Eden + S0 或 S1?
最佳答案
该图有点偏离 - 永久代不存在于堆中,而是存在于非堆空间中: https://blogs.oracle.com/jonthecollector/presenting-the-permanent-generation
回答你的问题,年轻一代由以下人员组成:
堆中的对象有一定程度的“提升”,如下所示:`
Eden -> S0 -> S1 -> Old Generation (or tenured).
新的 Java 对象在 Eden 中创建,它具有固定的分配大小。自然,Eden 满了,就会发生一轮 Minor GC。仍然引用的对象将被提升到幸存者空间。每次 Minor GC 发生时,对象都会在 S0 和 S1 周围交换。
根据该对象存活下来的GC次数,它最终会被提升到Old Generation。当然,也会有老年代空间满的时候。然后将进行一次主要的 GC 来清理未引用的对象。
读一下: https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html
关于java - 老一代的长期幸存者会任职多久?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54249619/
我正在学习垃圾收集的工作原理。 我对年轻一代很清楚,但对老一代则不清楚 当老年代已满并且执行Major GC时会发生什么? 是否所有存活或死亡的对象都会从老年代中删除,还是仅删除死亡的对象? 如果老年
我们正在对应用程序进行负载测试,一段时间后,AppDynamics 报告“PS Old gen”为 100%,呈红色。 Full GC 每 10 分钟运行一次。内存的“当前利用率”在 70-90% 之
我有一个网络服务器,在 Debian 9 上有 6 个 cpu 8gb Ram 和 Apache 2.4.25/PHP7.2-Fpm。当我进行“service apache2 reload”时,所有当
我在研究Spark,对Executor的内存拆分有一些疑惑。具体来说,在 Spark Apache 文档 ( here ) 中指出: Java Heap space is divided in to
我是一名优秀的程序员,十分优秀!