1、前面介绍了编译型和解释型语言,Java语言比较特殊,由其编写的程序需要先编译,但此编译不会生成特定嫌嗳动垴平台的机器语言文件,而是生成一种和平台无关的字节码文件,也就是*.class文件,这种字节码文件不是可执行文件,它必须使用特定平台的解释器来解释执行。
2、先编译成字节码文件,也即*.class文件:程序员使用Java语言编写的*.java源文件,需要使用javac编译器编译成字节码文件,也即*.class文件。注意:该字节码文件与平台无关,可被特定平台的Java解释器执行。
3、然后根据不同平台的Java解释器,将字节码文件解释成特定平台的机器文件:Java语言中负责解释字节码揍茏壅混文件的是Java虚拟机,即JVM(Java Virtual Machine)。不同平台,各自实现了其JVM,JVM向编译器提供相同的编程接口,所以可解释编译器生成的字节码文件,将其解释成特定平台的机器语言文件。