【发布时间】:2023-03-04 23:58:01
【问题描述】:
我有一个相当消耗内存的 Java 应用程序。
在我的带有 Windows XP Professional 的 32 位系统上,如果我给它-Xmx1280m,应用程序将运行良好。以下所有内容都会以 java.lang.OutOfMemoryError: Java heap space 异常结束。
如果我在 64 位 Windows XP Professional 上运行相同的应用程序(其他一切都完全相同),它需要 -Xms1400m 来防止 OutOfMemory 条件。
据我了解,如果我有一个 C 程序并且我将它编译为 32 位和 64 位 64 位版本将需要更多内存,因为指针更宽等等。 但是在我的 java 示例中,虚拟机 (Sun) 是相同的,并且字节码是相同的。
为什么在 64 位机器上需要更多内存?
【问题讨论】:
标签: java windows-xp 64-bit 32-bit out-of-memory