JRE 32位和64位

JRE 32位和64位,第1张

JRE 32位和64位

实际上,64位与32位可以归结为对象 引用大小,而不是数字的大小。

在32位模式下,引用为四个字节,从而使JVM可以唯一地寻址2 ^
32字节的内存。这就是32位JVM的最大堆大小限制为4GB的原因(实际上,由于其他JVM和OS开销,该限制较小,并且因 *** 作系统而异)。

在64位模式下,引用是(惊奇的)八个字节,从而允许JVM唯一地寻址2 ^
64字节的内存,这对任何人来说都足够了。

-Xmx
64位模式下的JVM堆大小(用指定)可能很大。

但是64位模式会带来成本:引用的大小是原来的两倍,从而增加了内存消耗。这就是Oracle引入“ Compressed
oops”的原因。启用压缩的oops(我相信现在是默认设置)后,对象引用将缩小为四个字节,但要注意的是,堆被限制为40亿个对象(和32GB
Xmx)。压缩的 *** 作不是免费的:要实现这种大幅度的内存消耗减少,需要消耗少量的计算成本。

作为个人喜好,我总是在家中运行64位JVM。CPU具有x64功能, *** 作系统也具有x64功能,因此我也希望JVM也以64位模式运行。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5438855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存