Java跨平台原理:
Java源文件被javac.exe编译之后,生成它的字节码文件可以在任何一个具备Java环境的平台上解释运行;实现了“一次编译,到处使用”,而JVM(Java虚拟机)就是实现跨平台的核心机制;
当调用java.exe时,实际上是在动态调用了JVM;JVM将字节码文件解释生成当前操作系统可执行的文件;
相比之下我们看看C语言跨平台原理;
C语言跨平台原理:
C语言在不同的操作系统上都会又对应的编译器,对源程序进行编译,编译后的文件可以直接被当前操作系统执行
Java跨平台原理与C跨平台原理的区别:
1)Java的字节码文件与平台无关,使用字节码文件可以到不同的平台上运行;
2)C语言对于不同的平台又不同的编译器,编译器与平台相关;编译后的可执行文件也是与平台有关;