【发布时间】:2016-05-27 02:08:04
【问题描述】:
我一直在尝试在我的应用程序上使用 G1,并注意到与 java 7u91 上的默认垃圾收集器相比,启动应用程序需要更多时间。另一方面,像 G1 应该执行的那样执行的集合更少。
G1 变慢有什么原因吗?我的应用程序使用 128mb 的最小和最大堆,超过 Solaris 64 位版本,VM 没有自定义参数。 (Java服务器版)
【问题讨论】:
-
您为什么不希望他们将更快的垃圾收集器设为默认值?
-
gc1 不是比其他垃圾收集器更有效率吗?如果没有,为什么要迁移到它。
-
是什么让你这么想?如果您正在设计 Java,为什么默认情况下没有最佳性能?我希望非默认垃圾收集器只会在极少数、非常特殊的情况下更好。
-
好的,这样想我可以使用具有最佳选项的 CMS 来调整应用程序。在我看来,如果 java 9 倾向于将 gc1 作为默认值,那肯定是有充分理由的。
-
如果 java 9 有 GC1 作为默认值,那可能是因为他们在 Java 9 中改进了 GC1。
标签: java garbage-collection heap-memory g1gc