【发布时间】:2014-09-27 00:53:12
【问题描述】:
所以我知道 HotSpot VM 现在默认启用压缩 oops。从 Java SE 6u23 开始,它通过 VM 选项 -XX:+UseCompressedOops 对此提供了支持。我知道它允许有效地利用 CPU 缓存,因为 CPU 缓存可以容纳更多的引用,而不是它们必须处理 64 位大小的引用。但我不明白的是,仅使用 32 位 JVM 可以寻址多达 264 个地址。
为了简化问题,我们如何仅使用 2 位寻址多达 24 个内存地址?这种地址方案的可能编码/解码是什么?
【问题讨论】:
-
提示:CompressedOops 限制为 2^35 个地址,而不是 2^64 个。
标签: java memory-management jvm