执行引擎概述
虚拟机的执行引擎是由软件自行实现的,不受物理条件制约,能够执行不被硬件直接支持的指令集形式 将字节码翻译成机器指令
java代码编译执行过程
橙色:javac编译器(和JVM无关) 绿色(解释过程)/蓝色(编译过程):字节码的执行是由JVM执行引擎完成的 解释器:逐条翻译 JIT编译器:将源代码翻译成机器语言
机器码、指令、汇编语言
机器码:0101001 指令:inc、mov 指令集:x86指令集 汇编语言:助记符代替操作码,要翻译成机器指令 高级语言 字节码:中间状态的二进制码
解释器
响应速度快,低效
JIT(Just In Time)编译器
响应速度慢,翻译后放在缓存中,效率快
package chapter12;
import java.util.ArrayList;
import java.util.List;
public class JITTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
for (int i = 0; i < 1000; i++){
list.add("aaaaaaaaaa");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
|