JVM中的JIT
2024-08-27 02:30:22
JVM中的JIT
介绍Java虚拟机的文章或者书籍总会提到Java虚拟机中的JIT编译器,可是JIT编译器到底是什么?为什么需要JIT编译呢?
JIT编译器,是Just In Time编译的意思,又称即时编译。
Java程序是先从源代码编译到字节码,然后由Java虚拟机来解释执行字节码。当Java虚拟机在解释执行一个Java程序的字节码的时候,正常情况下Java虚拟机是解释一句执行一句,直到程序运行完毕。但是,很多程序中都存在一些”热点“区域,这些区域的代码会被反复调用执行,这样同一段代码就会被Java虚拟机反复的解释,这就导致了Java虚拟机执行效率的低下。为了应对这种情况,Java虚拟机就在执行Java字节码的过程中把检测到的反复执行的”热点“区域代码给编译成机器码,让后边对这段代码的调用可以不用再解释,提高执行效率,这个编译过程就叫JIT编译,因为编译是在字节码解释执行的过程中完成的,所以被称即时编译。
Java虚拟机在执行Java字节码的过程中不会对所有的字节码进行即时编译,因为只执行一次的字节码没必要编译成机器码,直接解释执行比即时编译还快。
最新文章
- 规范和封装jdbc程序代码
- openstack常规操作命令梳理
- Web工程与RMI工程进行联调
- Nginx使用手册目录
- Chrome plug-in 和Extension
- restful php
- vi 编辑器的使用
- 【二进制拆分多重背包】【HDU1059】【Dividing】
- 測试之路3——对照XML文件2
- Android自定义安全键盘
- [BZOJ1007] [HNOI2008] 水平可见直线 (凸包)
- 寒假训练——搜索 K - Cycle
- Linux read line
- 一个HttpClient使用Windows认证请求WCF服务的例子
- (未完成...)Python3网络爬虫(2):利用urllib.urlopen向有道翻译发送数据并获得翻译结果
- yum-本地源配置(CentOS7)
- 俩表之间的添加Sql
- OpenCV-跟我一起学数字图像处理之直方图均衡化
- PAT 1127 ZigZagging on a Tree[难]
- [翻译] SlideInView