Java是跨平台的。
Java代码的编译是由Java语言的编译器来执行的,执行后生成的是.class文件,该文件是字节码文件。
然后交给虚拟机进行运行,虚拟机是在各个平台上可移植的。从而决定了Java是跨平台的语言。
Java的虚拟机一般由:类装载器、解释器或编译器、无用单元收集器、线程控制模块。
Java字节码的执行有解释执行方式和即时编译方式。一般采用即时编译方式。
C语言的编译过程是:
由源程序 经 预处理器
生成 修改后的源程序
经 编译器 生成 汇编程序
经汇编器 生成 可重定位的目标文件
经连接器 与其他库或者可重定位的目标文件
生成 可执行的目标程序