深入浅出JVM之执行引擎的解释执行与编译执行

本篇文章围绕执行引擎,深入浅出的解析执行引擎中解释器与编译器的解释执行和编译执行、执行引擎的执行方式、逃逸分析带来的栈上分配、锁消除、标量替换等优化以及即时编译器编译对热点代码的探测

执行引擎

hotspot执行引擎结构图

执行引擎分为解释器、JIT即时编译器以及垃圾收集器

执行引擎通过解释器/即时编译器将字节码指令解释/编译为对应OS上的的机器指令

本篇文章主要围绕解释器与即时编译器

解释执行与编译执行

Java虚拟机执行引擎在执行Java代码时,会有两种选择:解释执行和编译执行

解释执行:通过字节码解释器把字节码解析为机器语言执行

编译执行:通过即时编译器产生本地代码执行

Class文件中的代码到底是解释执行还是编译执行只有Java虚拟机自己才能判断准确

编译过程

经典编译原理: 1.对源码进行词法,语法分析处理 2.把源码转换为抽象语法树

javac编译器完成了对源码进行词法,语法分析处理为抽象语法树,再遍历抽象语法树生成线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值