java中的最大堆空间约束

Chr*_*ian 3 java jvm

我有一个需要大量内存的程序,并希望将最大堆空间设置为6024MB.Java给了我错误:

Invalid maximum heap size: -Xmx6024m
The specified size exceeds the maximum representable size.
Run Code Online (Sandbox Code Playgroud)

有解决方法吗?

小智 5

在不同Java VM之间可以分配多少堆之间存在很大差异.例如,Sun的VM需要将内存分配为来自操作系统的单个块.Oracle的JRockit VM 不存在此限制.它也依赖于操作系统 - 例如,我能够使用Linux为Sun的VM分配更多的堆,而不是使用Windows XP.另请注意,我在某处看到64位操作系统的问题消失了......

编辑:

这是关于32位Windows操作系统上Sun的JVM和Java堆空间问题的博客文章.