Java是一种半编译半解释型语言的解释

152 阅读1分钟

1.前端编译过程

java中的前端编译器指的其实是javac这个指令对应的编译器,通过运行这个指令对.java代码进行一系列的词法分析、语法分析什么的生成一个.class文件

2.半解释半编译

2.1 解释

JVM的执行引擎会逐行翻译.class字节码文件。把这个字节码文件翻译成机器指令并依据PC寄存器的指令存储地址,每次去到指定位置取出指令并继续执行。

2.2 编译

在JVM中存在一个即时编译器(JIT)这个编译器会把部分频繁使用的字节码文件编译程二进制机器码指令,并把这些指令存放在JVM方法区中。当准备运行到这些方法的时候可以直接运行相应的二进制机器码。整体的执行效率会更加高效