64位Java的最大内存

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (591)

在64位平台上,可以为java分配的最大堆空间是多少?是无限的吗?

提问于
用户回答回答于

理论上2 的64次方,但是显然有一些限制

根据这个FAQ,它只受到本地系统内存和交换空间的限制:

在64位虚拟机上,您可以使用64位寻址能力,从而导致最大Java堆大小仅受系统提供的物理内存和交换空间量的限制。 另请参见为什么我无法使用32位JVM获得更大的堆?

另外请记住,你需要通过命令行设置最大堆。没有-Xmx命令。没有它,根据相同的FAQ,Java在64位机器上使用64MB + 30%= 83.2mb作为默认最大堆。

java -Xmx1000g myClass 

在我的机器上正常工作。但它似乎还没有支持't'修饰符,所以你不能指定最大的内存在兆兆字节但:)

用户回答回答于

如果你可以把宇宙中的每个原子变成一个RAM字节,你可以在64位地址空间中分配它。

实际上,这有点夸大其辞。

扫码关注云+社区

领取腾讯云代金券