在 JAVA 编程中, Java 编译器会将 Java 程序转换为( )
JVM是Java平台无关的基础。JVM负责运行字节码:JVM把每一条要执行的字节码交给解释器,翻译成对应的机器码,然后由解释器执行。JVM解释执行字节码文件就是JVM操作Java解释器进行解释执行字节码文件的过程。
Java编译器:将Java源文件(.java文件)编译成字节码文件(.class文件,是特殊的二进制文件,二进制字节码文件),这种字节码就是JVM的“机器语言”。javac.exe可以简单看成是Java编译器。
Java解释器:是JVM的一部分。Java解释器用来解释执行Java编译器编译后的程序。java.exe可以简单看成是Java解释器。
JVM中有3类编译过程
(1)把*.java文件转变成*.class文件的过程;-- 前端编译器
(2)把字节码转变成机器码的过程;-- 后端运行期编译器(JIT编译器,Just In Time Compiler)
(3)直接把*.java 文件编译成本地机器代码的过程;-- 静态提前编译器(AOT编译器,Ahead Of Time Compiler)
对应3类编译过程代表性编译器所以这道题有歧义,一定要选,我选D
(1)前端编译器:Sun的Javac、Eclipse JDT中的增量式编译器(ECJ)。
(2)JIT编译器:HotSpot VM的C1、C2编译器。
(3)AOT编译器:GNU Compiler for the Java(GCJ)、Excelsior JET