3

-Xms我可以通过分别传递参数和来设置 Java 堆大小的最小值和最大值-Xmx

我知道最大标志是限制空间所必需的,但是设置最小初始堆大小的原因是什么?如果最大值足够大,空间会增加吗?还是我错过了什么?

4

3 回答 3

5

设置了最小大小,以便 JVM 在开始时不必“调整”堆空间的大小。

于 2011-11-10T20:38:02.723 回答
2

Java 将从最小堆大小开始,并尝试通过垃圾收集来避免扩大堆。

因此,如果您的应用程序的稳态内存大小大于默认堆最小堆大小,那么您可能会在达到该大小的过程中进行大量无意义的 GC。将最小大小设置为该大小将避免无意义的 GC。

于 2011-11-10T20:40:14.483 回答
0

如果您的应用程序需要一定数量的运行,您可以设置最小堆大小。如果设置最大堆大小,jvm 不应该超过它。

于 2011-11-10T20:39:05.423 回答