我正在创建一个非常简单的应用程序,它读取并显示文本文件并在其中搜索。Java JDK 32位与64位
我在问自己是否有兴趣向我提出32位和64位版本给用户。
只有在使用64位版本访问更多内存堆大小或者是否有其他兴趣时才有所不同?
将在一个64位的JVM 32位已编译的程序工作(I假设是)
我正在创建一个非常简单的应用程序,它读取并显示文本文件并在其中搜索。Java JDK 32位与64位
我在问自己是否有兴趣向我提出32位和64位版本给用户。
只有在使用64位版本访问更多内存堆大小或者是否有其他兴趣时才有所不同?
将在一个64位的JVM 32位已编译的程序工作(I假设是)
32位和64位之间的唯一的差异的生成的任何程序是机器字的大小,则可寻址内存的数量以及使用的操作系统ABI。使用Java,语言规范意味着除非您使用本机代码,否则机器字大小和OS ABI的差异根本不重要。 (原生代码必须的构建与加载它的JVM的字大小相同;您不能在同一进程中混合使用32位和64位构建,而且确实没有非常奇特的编码,而您不应该这样做与Java有关。)
原生字的大小可以对C或C++代码产生根本性的区别,特别是如果编写得很糟糕或者写得很糟糕,但Java代码根本看不出差异。 –
Thanx的答案。我清楚地知道,在纯Java中,这不会改变任何事情。 – HpTerm
@HTTerm:在纯Java中,所有变化都是可寻址内存的数量(好)和每个对象的内存数量(不太好)。除非您接近VM限制,否则这些更改都不会导致您可以看到的问题。 –
只要您的应用程序是100%纯Java,除了可能的堆大小外,没有多大区别。 – Thomas
只记得32位和64位JRE是单独安装的,大多数人只默认安装了32位(即使在64位机器上)。 – Viruzzo
Thanx为您的答案。正如我所料,对于纯Java来说,这不会改变任何东西(堆大小除外)。 – HpTerm