1、Java与C语言编译位机器码的不同之处:

传统的C和C++直接编译为特定平台的机器码,如果跨平台则需要使用其对应的编译器重新编译。

而Java则不同,Java源程序首先要编译成与平台无关的字节码文件 即.class文件,然后字节码文件在解释成机器码运行。

解释是在虚拟机中完成的,字节码文件不面向平台,只面向虚拟机。

Java可以实现一次编译,到多个不同的平台运行。