JDK 64位还是32位?

12

我的电脑使用的是Windows 7 64位操作系统。但是我将要部署jsp web应用程序的服务器是32位的。

我需要在电脑上安装32位的JDK/JRE来进行开发吗?我使用的是Eclipse。

非常感谢。

3个回答

16

你不需要安装32位JRE来进行开发。你构建的Java代码不会有任何64位特性的痕迹。(我假设你没有使用JNI,否则会稍微复杂一些。)

但是,为了测试目的,你可能想要安装32位JRE - 确保你没有尝试使用超过2GB的内存等。


1
有道理。不过你可能需要确保两个虚拟机来自同一供应商...因为一个可能存在另一个没有的漏洞 ;) - Romain

10

没关系。Java是“编译一次,到处运行”的语言,因此您不必仅仅因为在64位平台上进行部署就必须在64位平台上开发,或者反过来。

如果这些代码在您的计算机上能够正常工作,那么在应用服务器上也将同样有效,除非出现以下情况之一:

  1. 您正在使用JNI(从Java调用“本地”代码)
  2. 其中一个虚拟机具有另一个虚拟机没有的漏洞
  3. 您的代码需要访问比32位进程可以访问的更多内存。

2

如果您使用JDK 64位进行编译,生成的字节码将与32位相同,应用服务器中的JVM将在32位上运行 - 这意味着可用的内存分配较少。如果您想确保具有相同的内存分配行为,最好使用32位JDK。

在开发方面,这两种解决方案都可以工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接