我有一个内存占用较高的Java应用程序。在我的32位Windows XP Professional系统上,如果我给它
如果我在64位Windows XP Professional上运行相同的应用程序(其他条件完全相同),则需要
据我理解,如果我有一个C程序,并且我将其编译为32位和64位版本,则64位版本将需要更多的内存,因为指针更宽等等。然而,在我的Java示例中,虚拟机(Sun)相同,字节码也相同。 为什么64位机器需要更多的内存?
-Xmx1280m
,应用程序就可以正常运行。任何小于此值的设置都会导致java.lang.OutOfMemoryError: Java heap space
异常。如果我在64位Windows XP Professional上运行相同的应用程序(其他条件完全相同),则需要
-Xms1400m
才能避免OutOfMemory错误。据我理解,如果我有一个C程序,并且我将其编译为32位和64位版本,则64位版本将需要更多的内存,因为指针更宽等等。然而,在我的Java示例中,虚拟机(Sun)相同,字节码也相同。 为什么64位机器需要更多的内存?