Java JDK 32位对64位

时间:2012-01-16 13:10:40

标签: 32bit-64bit java

我正在创建一个非常简单的应用程序,它可以读取和显示文本文件并搜索它们。

我问自己是否有兴趣向用户提出32位和64位版本。

区别仅在于使用64位版本访问更多内存堆大小还是有其他兴趣?

32位编译程序是否可以在64位JVM上运行(我假设是)

2 个答案:

答案 0 :(得分:12)

任何程序的32位和64位版本之间的唯一区别是机器字的大小,可寻址内存的数量以及正在使用的操作系统ABI。对于Java,语言规范意味着机器字大小和OS ABI的差异根本不重要,除非您也使用本机代码。 (本机代码必须构建为与将加载它的JVM的字大小相同;您不能在相同的过程中混合32位和64位构建而不是非常奇特确实是编码,你不应该用Java做这件事。)

答案 1 :(得分:2)

唯一一次为我提供动力的是,当涉及的本地图书馆已经推动了它的某种方式。如果你只是在Java领域,那么实际上,除非你需要> 4GB的堆大小,否则差别很小。

编辑:差异包括它使用的内存略多于32位,如果你在6u23之前使用的版本并且没有使用-XX:+UseCompressedOops,那么显着更多。两者之间可能存在轻微的性能差异,但同样没有什么大的。