在64位平台上,一个人可以为java分配的最大堆空间是多少?无限吗?
理论上是2 64,但是可能会有限制(显然)
根据此常见问题解答,它仅受本地系统上的内存和交换空间的限制:
在64位VM上,您具有64位可寻址性,因此可产生的最大Java堆大小仅受系统提供的物理内存和交换空间的数量限制。
另请参见为什么使用32位JVM无法获得更大的堆?
另外请记住,您需要通过命令行设置最大堆。没有-Xmx命令。没有它,根据相同的FAQ,Java在64位计算机上使用64mb + 30%=
83.2mb作为默认最大堆。
java -Xmx1000g myClass
在我的机器上工作正常。但是它似乎还不支持’t’修饰符,因此您还不能指定以太字节为单位的最大内存:)
问题内容: 问题不在于32位操作系统的最大堆大小,因为32位操作系统的最大可寻址内存大小为4GB,而JVM的最大堆大小取决于可以保留多少连续可用内存。 我对了解在64位OS中运行的32位JVM的最大(理论上和实际可实现的)堆大小更感兴趣。基本上,我正在寻找类似于SO相关问题中的数字的答案。 至于为什么使用32位JVM而不是64位JVM,原因不是技术上的而是管理/官僚的-在生产环境中安装64位JVM
问题内容: 我已经读到 32位Windows上的最大堆大小是〜1.5GB,这是由于JVM需要连续的内存。有人可以解释“连续内存”的概念吗,为什么Windows上最多只有1.5GB? 其次,那么64位Windows上的最大堆大小是什么?为什么与32位Windows上可用的最大堆大小不同? 问题答案: 32位/ 64位部分与Java无关 事实证明,32位系统中的内存位置由32位无符号整数引用。这最多允
在分析一个有问题的64位Java应用程序的过程中,我注意到分析器本身(YourKit)使用了大量的内存。我在YourKit启动脚本中得到的是: 天真地,假设有一些开销,这会让我猜测YourKit将使用最多可能超过4 GB的东西。然而,我在PS中实际看到的是: 这是近14 GB的虚拟大小和近8 GB的常驻大小 - 几乎是Java堆的3倍。 现在,我的开发盒上有足够的内存来运行它,但是回到我试图诊断的
问题内容: 当然,在32位系统中可以设置的理论最大堆值是字节,但是通常(请参阅:了解最大JVM堆大小 -32 位vs64位),一个人不能使用全部4GB。 对于在64位计算机上的64位OS中运行的64位JVM,除了理论上的字节数限制或16艾字节之外,是否还有其他限制? 我知道由于种种原因(主要是垃圾回收),过大的堆可能不是 明智的选择 ,但是鉴于阅读了有关具有terrabytes RAM的服务器的信
问题内容: 在64位计算机上,Java中的int大小是32位还是64位? 问题答案: 32位。这是Java语言的功能之一,整数的大小不会随基础计算机而变化。请参阅规范的相关部分。
问题内容: 我正在创建一个非常简单的应用程序,该应用程序可以读取和显示文本文件并进行搜索。 我问自己是否有兴趣向用户提出32位和64位版本。 区别仅在于使用64位版本访问更多的内存堆大小,还是还有其他兴趣? 32位编译程序是否可以在64位JVM上运行(我认为是) 问题答案: 任何 程序的32位和64位版本之间的唯一区别是机器字的大小,可寻址内存的数量以及所使用的操作系统ABI。对于Java,语言规