Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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 为64位、32位、windows和linux构建_Java - Fatal编程技术网

Java 为64位、32位、windows和linux构建

Java 为64位、32位、windows和linux构建,java,Java,我们从32位windows开始。Java应用程序将使用JRE打包,并使用此打包的JRE。现在我们需要支持64位和linux。我正在寻找一种为他们创建发行版的方法。以下两个选项之间是否有任何区别: 选项1: 使用32位windows JDK(在32位windows机器中)构建源代码,并为32位/64位和windows/Linux打包不同的JRE 选项2: 使用32位/64位和/或windows/Linux的相应JDK构建(即使用64位windows JDK构建64位windows应用程序) 选项1

我们从32位windows开始。Java应用程序将使用JRE打包,并使用此打包的JRE。现在我们需要支持64位linux。我正在寻找一种为他们创建发行版的方法。以下两个选项之间是否有任何区别:

选项1:

使用32位windows JDK(在32位windows机器中)构建源代码,并为32位/64位和windows/Linux打包不同的JRE

选项2:

使用32位/64位和/或windows/Linux的相应JDK构建(即使用64位windows JDK构建64位windows应用程序)

选项1在发布过程中更简单,但我不知道是否存在任何潜在问题(错误、性能)。选项2可能需要4台不同的机器才能发布


还有一个问题是,如果我用64位JDK构建一个Java应用程序,并用32位JRE在32位机器上运行它,会发生什么?我以后会找一台机器来试用。

编译的java代码并不特定于任何体系结构。您可以在任何计算机上编译它一次并按原样分发(如果需要,可以将它与适当的jre配对)。

编译的java代码并不特定于任何体系结构。您可以在任何计算机上编译一次,然后按原样分发(如果需要,可以与适当的jre配对)。

使用
javac
将java源代码转换为字节码是独立于体系结构的。意思是选项1应该很好。

使用
javac
将java源代码转换为字节码是独立于体系结构的。意思是选项1应该可以。

您可以执行命令行命令,根据架构指定使用的RAM数量

您可以执行命令行命令,根据架构指定使用的RAM数量

您不需要为不同平台重新编译并不意味着您应该不要在每个测试中进行广泛测试。Linux和Windows之间的文件访问非常不同,即使不是Java的错,破坏文件也很容易。另外,根据我的经验,如果从Linux到Windows,会有更多的东西崩溃……不需要为不同平台重新编译的事实并不意味着不应该在每个平台上进行广泛的测试。Linux和Windows之间的文件访问非常不同,即使不是Java的错,破坏文件也很容易。另外,根据我的经验,如果你从Linux到Windows,会比从Linux到Windows发生更多的事情。。。