我的机器上安装了64位JDK吗? 我的java -version说: C:\ Documents and Settings \ Administrator> java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)
我是否期望使用64位编译器而不是32位编译器的性能提升? 谢谢, 麦克
答案 0 :(得分:3)
是的,它说Java Hotspot(TM)64位。关于64位与32位JVM性能,64位JVM的主要优点是地址空间更大。请参阅Hotspot FAQ。
运行Java的主要优点 在64位环境中是更大的 地址空间。这允许很多 更大的Java堆大小和增加 最大Java线程数,即 特定种类的大型需要 或长期运行的应用程序。该 这样做的主要并发症 端口是一些原生的大小 数据类型已更改。不 令人惊讶的是,指针的大小是 增加到64位。在Solaris和 大多数Unix平台,C的大小 语言长也增加到64 位。 32位中的任何本机代码 依赖于SDK的SDK实现 这些数据类型的旧大小是 可能需要更新。
答案 1 :(得分:2)
我不希望64位编译器有任何出色的性能提升,没有。
答案 2 :(得分:2)
编译器,一旦到达运行时就不会有所作为。 Java编译为字节码,输出独立于用于运行编译器的体系结构。
你可能看到32位编译器和64位编译器之间的不同编译时间,就像你可能会看到32位和64位运行时之间的不同运行时间一样(但运行时去在JRE下,而不是JDK)。这取决于它们针对该体系结构(x86 / x64)的优化程度,但是一个不会影响另一个(慢速编译并不意味着执行速度很慢,反之亦然)。
(当然,这假设两个编译器的位数不同,并且他们没有应用不同的优化集,或者做一些稍微不同的事情。)