我是Java的新手,有人澄清我对平台独立性的疑虑,我知道Java是一种独立于平台的语言,而JVM是依赖于平台的,但是独立于Java编译器平台吗?
答案 0 :(得分:6)
您的问题涉及四个要素:
java MyMainClass
时运行的程序。)第1项和第3项与平台无关(除非您的程序使用与平台相关的外部库)。第2项和第4项与平台相关(即每个平台 - Windows,Linux,Mac等 - 使用自己的javac版本和JVM)。
结果是您可以在运行javac的任何平台上编译Java程序,然后在同一平台或任何其他具有JVM的平台上执行该程序。
答案 1 :(得分:2)
否javac
不是平台独立的,每个平台都有自己的可执行形式javac
即。你不能通过linux jdk复制到windows并期望它能够正常工作
答案 2 :(得分:1)
java编译器的(实现)与平台无关。它将源代码编译为 platform -inpendent的字节码,该字节码由平台相关的 JVM执行。
答案 3 :(得分:0)
从技术上讲,JVM与平台无关,因为您必须下载这些工具的平台特定版本。 java编译器生成与平台无关的字节代码(.class文件)
答案 4 :(得分:0)
在Windows javac
中,似乎采用.exe
格式,这意味着它与平台有关。每个平台都有不同的java编译器。