我们公司正计划迁移到 64 位 JVM,以摆脱 2 GB 的最大堆大小限制。谷歌给了我关于 64 位 JVM 性能的非常复杂的结果。 有没有人尝试迁移到 64 位 java 并分享您的经验
最佳答案
简而言之:64 位 JVM 将消耗更多内存用于对象引用和一些其他类型(通常不重要),每个线程消耗更多内存(在高容量站点上通常很重要)并使您拥有更大的堆(通常只有在您有许多长期存在的对象时才重要)
较长的回答/评论:
Java 是 32 位的评论 设计具有误导性。 java 内存寻址是 32,或者 64 位,但 VM 规范确保 大多数字段(例如 int、long、double、 等等)都是一样的。
另外 - GC 调优评论 与对象的数量有关,可能 不相关,GC 可以很快 具有大堆的 JVM(我工作过 堆高达 15GB,非常 快速 GC)——这更多地取决于如何 你玩世代相传 收集计划,以及你的 对象使用模式是。而在 过去的人们花费了大量的精力 调参,工作量很大 依赖和现代(Java 5+)JVM 非常擅长 self 调整 - 除非 你有很多数据你更多 可能伤害自己而不是帮助 具有积极的 JVM 调优。
如 x86 架构所述, 64 位 EMT64 或 x64 处理器 还包括新的说明 做原子写之类的事情,或者 其他可能也会影响的选项 高性能应用程序。
关于java - 迁移到 64 位 JVM 的经验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2553845/