小GC导致停止java中的世界暂停?

小GC导致停止java中的世界暂停?,java,garbage-collection,Java,Garbage Collection,语言:Java 我不确定次要GC是否会导致所有应用程序线程等待GC进程在java中完成。请解释一下。这取决于实现 如果您使用的是hotspot VM,您可以通过-XX:+PrintGCApplicationStoppedTime打印GC STW暂停信息。如果要打印所有STW暂停(不仅仅是GC暂停),可以使用-XX:+PrintSafepointStatistics–XX:PrintSafepointStatisticsCount=1[] 其他JVM的行为可能不同。一个经常被引用的例子是Azul的

语言:Java


我不确定次要GC是否会导致所有应用程序线程等待GC进程在java中完成。请解释一下。

这取决于实现

如果您使用的是hotspot VM,您可以通过
-XX:+PrintGCApplicationStoppedTime
打印GC STW暂停信息。如果要打印所有STW暂停(不仅仅是GC暂停),可以使用
-XX:+PrintSafepointStatistics–XX:PrintSafepointStatisticsCount=1
[]

其他JVM的行为可能不同。一个经常被引用的例子是Azul的Zing和他们的无暂停收集器——虽然它实际上有暂停,但这些都是固定时间


另外,请注意,在GC中花费的墙时间与GC-STW暂停之间没有固定的联系。也就是说,STW时间可以比GC时间更短、相等或更长。

这取决于实现

如果您使用的是hotspot VM,您可以通过
-XX:+PrintGCApplicationStoppedTime
打印GC STW暂停信息。如果要打印所有STW暂停(不仅仅是GC暂停),可以使用
-XX:+PrintSafepointStatistics–XX:PrintSafepointStatisticsCount=1
[]

其他JVM的行为可能不同。一个经常被引用的例子是Azul的Zing和他们的无暂停收集器——虽然它实际上有暂停,但这些都是固定时间


另外,请注意,在GC中花费的墙时间与GC-STW暂停之间没有固定的联系。也就是说,STW时间可以短于、等于或长于GC时间。

这取决于运行时……而您还没有指定语言。@NNONEO:我说的是依赖于运行时的java……而您还没有指定语言。@NNONEO:我说的是java