我注意到吞吐量收集器在java 7和java 8中的工作方式有所不同。我在线阅读都默认为吞吐量打开了自适应大小策略。 JDK7中的所有主要收藏都发生在旧的gen充满时,一个大停顿持续超过7秒。在JDK 8中,我注意到有多个主要集合在后台持续发生2-3秒。在这两种情况下,我都将Xms(初始堆)和Xmx(最大堆)设置为相同的值8g。我们通过newsize和maxnewsize明确提供新gen的大小。
我在线阅读的自适应大小策略:JVM根据吞吐量和暂停时间目标自动调整代的上限和下限。此链接(http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc-ergonomics.html)
java7是否仍然具有明确的不兼容性,可以使用最大新大小的自适应大小调整。虽然java8没有这样的限制。