Java跨平台原理
1.不同的硬件平台最终执行的是机器码,不同平台的机器码是不同的
2.java源程序(.java文件)先编译成字节码文件(.class文件),由于字节码文件格式独立,不面向任何具体的平台,只面向虚拟机;因此将字节码文件解释成对应平台机器码并执行;
3.Java虚拟机是可运行Java字节码文件的虚拟计算机,不同平台的虚拟机是不同的,但它们都提供了相同的接口。
4.Java具有一次编译,到处运行的特点.就是说编译后的.class可以跨平台运行,前提是该平台具有相应的Java虚拟机。
c语言跨平台原理
1.多次编译,到处运行
2.直接编译成针对特定平台的机器码。如果要跨平台,需要使用相应的编译器重新编译
由于Java的跨平台原理决定了Java性能比c/c++要低;