我知道默认的 Java 堆内存是 128 MB。由于它是默认值,我想知道该内存是否会根据 RAM 大小自动更改。例如,对于具有 128 MB RAM 的机器,堆内存 128 太多,应该自动更改。因为如果一个应用程序使用了所有的 128 个堆,PC 最终会遇到麻烦。
请帮忙。
我知道默认的 Java 堆内存是 128 MB。由于它是默认值,我想知道该内存是否会根据 RAM 大小自动更改。例如,对于具有 128 MB RAM 的机器,堆内存 128 太多,应该自动更改。因为如果一个应用程序使用了所有的 128 个堆,PC 最终会遇到麻烦。
请帮忙。
在 Java 1.6 更新 18(及更高版本)中,如果未指定,客户端 JVM 中的默认堆大小遵循以下规则:
默认的最大堆大小是物理内存的一半,最大物理内存大小为 192 MB,否则为物理内存的四分之一,最大物理内存大小为 1 GB。
例如,如果您的机器有 128 MB 的物理内存,那么最大堆大小为 64 MB,大于或等于 1 GB 的物理内存导致最大堆大小为 256 MB。
在以前的 Java 版本中,堆大小默认情况下是不可变的。
-Xmx
不,除非您在启动时使用该选项要求它,否则它不会自动更改。
在任何情况下,32 位机器上的内存都不能超过 2 GB。如果您需要更多,则必须获得具有大量 RAM 的 64 位操作系统。
您可以使用 aptions -Xmx 和 -Xms 指定 JVM 堆大小
-Xmx - 最大尺寸。-Xms - 最小尺寸。
你指定喜欢
-Xmx64m -Xms32m (for 64 and 32 MB)