Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JDK 64位还是32位?_Java - Fatal编程技术网

Java JDK 64位还是32位?

Java JDK 64位还是32位?,java,Java,我的电脑使用的是64位Windows 7。但是部署jsp web应用程序的服务器是32位的 我需要在我的电脑中安装32位JDK/JRE来开发吗?我正在使用Eclipse 非常感谢。您绝对不需要安装32位JRE来开发。您构建的Java代码不会有任何64位代码的痕迹。(我假设您没有使用JNI,这会使事情变得有些复杂。) 不过,出于测试目的,您可能需要安装32位JRE,以确保您没有尝试使用超过2GB的内存等。这无关紧要。Java是“编译一次,到处运行”的,因此您不必仅仅因为部署到64位平台就在64位平

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

我需要在我的电脑中安装32位JDK/JRE来开发吗?我正在使用Eclipse


非常感谢。

您绝对不需要安装32位JRE来开发。您构建的Java代码不会有任何64位代码的痕迹。(我假设您没有使用JNI,这会使事情变得有些复杂。)


不过,出于测试目的,您可能需要安装32位JRE,以确保您没有尝试使用超过2GB的内存等。

这无关紧要。Java是“编译一次,到处运行”的,因此您不必仅仅因为部署到64位平台就在64位平台上开发,反之亦然

如果这些东西在你的电脑上工作,那么它在你的应用服务器上也会工作,除了以下情况之一:

  • 您正在使用JNI(从Java调用“本机”代码)
  • 两个虚拟机都有一个bug,而另一个没有
  • 您的代码需要寻址的内存比32位进程能够寻址的内存还要多

  • 使用JDK 64位的pc编译产生的字节码与使用32位的pc编译产生的字节码相同,应用程序服务器中的JVM将在32位上运行,这意味着可用内存分配更少。如果您想确保在内存分配上有相同的行为,最好使用JDK的32位。
    就开发而言,这两种解决方案都会起作用。

    Fair point。不过,您可能希望确保两个虚拟机来自同一个供应商。。。一个可能有虫子,另一个没有;)