限制JVM不要调用GC

GD_*_*ava 7 java garbage-collection

JVM究竟如何确定它应该是垃圾收集器?有没有办法限制JVM不要调用GC?

Ste*_*n C 5

JVM究竟如何确定它应该是垃圾收集器?

这取决于.

  • 如果您正在使用吞吐量收集器,那么当JVM无法在需要分配的空间(或其中一个空间)中分配新对象时,JVM将运行GC.

  • 如果您使用的是低暂停收集器,那么当可用空间比率低于可配置级别时,JVM会触发GC.

有没有办法限制JVM不要调用GC?

不.如果JVM决定它需要运行GC,它将运行它.您唯一能做的就是告诉JVM忽略应用程序代码调用System.gc().


Axe*_*xel 4

您不能告诉 JVM 不要调用 GC,但可以告诉 JVM 忽略对System.gc()via的调用-XX:+DisableExplicitGC