我正在做一个关于Java中垃圾收集的基础演讲,以及使用的不同算法等。我在GC方面的经验仅限于Hotspot JVM。
我只是想知道周围是否有JVM没有使用分代集合概念(例如,Young,Old)?以防有人问我这个问题!
谢谢。
发布于 2013-06-01 00:32:02
有很多JVM实现(请参阅this page了解相关想法)。所以,是的,它们中的一些可能不是基于Weak Generational Hypothesis。例如,诸如JamaicaVM (用于嵌入式系统的硬实时Java VM )之类的Java VM可以做出其他假设,因为它们的目标应用程序与Oracle JVM不同。
然而,最常用的实现(Oracle JVM、IBM和Azul Zing)都是基于它的。
请注意,对于G1 GC,Oracle JVM添加了一种新的集合类型:按代和按区域的集合
希望这能有所帮助!
发布于 2013-05-31 00:30:04
Java 1.0和1.1使用标记清除收集器。
参考:http://en.wikipedia.org/wiki/Java_performance#Garbage_collection
我还理解现代JVM在极端情况下会退回到标记-清除-压缩收集器;例如,当您配置了CMS但它无法跟上时。
发布于 2013-05-31 01:18:44
在Java7之前,IBM默认使用标记-清除-压缩的变体(-Xgcpolicy:throughput和-Xgcpolicy:optavgpause)。请参阅:description of policies。
https://stackoverflow.com/questions/16841300
复制相似问题