C和Java编译的区别

作为两种不同变成语言C和Java有着完全不同的编译过程,而正是因为如此,他们也具有不同的性质。
C语言在编译时会根据不同的平台生成不同的代码,其编译后的可执行文件只能在编译的平台上运行,所以只能存在源码级的可移植性。
但是Java代码在编译后会生成特定的.class字节码,之后在Java的虚拟机(JVM)上运行这种字节码,不管是什么样的平台只要安装了JVM就能运行程序,因此Java是跨平台的,平台的差异在JVM层面得到解决。