我是“java world”的新手,所以我需要了解不同OS和JDK中可移植性的基础知识。我在互联网上看到的是,如果在JDK 1.7上编译程序,它将在任何JDK版本> = 1.7上运行,是不是?谢谢,我对我的英语道歉,这不是我的默认语言。
答案 0 :(得分:1)
java -target version 中有一个选项 它说......
Generate class files that target a specified version of the VM. Class files will run
on the specified target and on later versions, but not on earlier versions of the VM.
Valid targets are 1.1, 1.2, 1.3,1.4, 1.5 (also 5), 1.6 (also 6), and 1.7 (also 7).
If -source is not specified, the value of -target is 1.7
If -source is 1.2, the value of -target is 1.4
If -source is 1.3, the value of -target is 1.4
If -source is 1.5, the value of -target is 1.7
If -source is 1.6, the value of -target is 1.7
For all other values of -source, the value of -target is the value of -source.
所以“如果在JDK 1.7上编译程序,它将在任何JDK版本上运行> = 1.7,是正确的”
答案 1 :(得分:0)
你是对的。您编写的大多数内容将自动在任何(版本兼容的)JVM中工作。我将一个重要的Java Swing GUI应用程序从Windows移动到Linux,我只需要将配置文件更改为指向不同的目录。它只是有效。
答案 2 :(得分:0)
是的,除非在较新版本中弃用某些内容。弃用可能会导致一些不一致。