java在不同架构上编译和运行时的行为方式

时间:2013-12-03 03:44:18

标签: java x86 jvm 64-bit x86-64

假设我有一个具有A.java类的应用程序,它只打印一些信息。

我的申请也将在以下工作:

[1]如果我使用A汇编jdk1.7.x86并在jre1.7.x64 64 bit机器上使用windows运行它?

[2]如果我使用A编译jdk1.7.x64并在jre1.7.x86 32 bit计算机上使用windows运行它?

[3]如果我使用A汇编jdk1.7.x86并在jre1.7.x86 64 bit机器上使用windows运行它?

[4]如果我使用A编译jdk1.7.x86并在jre1.7.x64 64 bit计算机上使用Linux运行它?

[5]如果我使用A编译jdk1.7.x64并在jre1.7.x86 32 bit计算机上使用Linux运行它?

[6]如果我使用A汇编jdk1.7.x86并在jre1.7.x86 64 bit机器上使用Linux运行它?

2 个答案:

答案 0 :(得分:1)

是。 OUI。硅。 IGEN。大。扎哈。叶波。 Avanu。 Ναι。阿里汉。 Ha'an吉。 نعم。大新。当然。不是问题。毫无疑问。没有问题。 Java Runtime Environment的承诺是一次编写,随处运行

Linux,Mac,Windows,VMS,Solaris等

答案 1 :(得分:1)

.class可以在任何版本大于.class文件中的编译版本的JVM上运行。

例如:

如果java文件是由jdk5编译的,那么所有JVM女巫版本都大于1.5可以运行这个类。

但是如果像这样编译java文件:

javac -source 1.4 Your.java

结果类可以在版本为1.4或更高版本的JVM上运行。