写点什么

JAVA 基础之 JIT

用户头像
且听且吟
关注
发布于: 2021 年 02 月 22 日

JIT,全程为 Just In Time Compiler ,即时编译器。这是针对解释型语言而言的,并且并非虚拟机的必须,是一种优化手段。


Java 的商用虚拟机 HotSpot 就有这样的技术手段,Java 虚拟机标准对 JIT 没有做出任何的规范,所以这个是虚拟机实现的自定义的优化技术。


HotSpot 虚拟机的执行引擎在执行 Java 代码是可以采用解释执行和编译执行两种方式的,如果是采用的编译执行方式,那么就会用到 JIT。


早期说 Java 是解释型的语言是没有任何问题的,而在拥有了 JIT 的 Java 虚拟机环境下,说 Java 是解释型的语言严格意义上已经不正确了。


HotSpot 中的编译器是 javac,他的工作是将源代码编译成字节码,这部分工作是完全独立的,不需要运行时参与,所以 Java 程序的编译是半独立实现的;有了字节码后,就由解释器来进行解释执行,这个是早期虚拟机的工作流程。后来,虚拟机会将执行频率高的方法或者语句通过 JIT 编译成本地机器码,提高了代码的执行效率。


以上为 JIT 在 Java 虚拟机中所处的地位以及工作的主要内容。

用户头像

且听且吟

关注

没有绝世高手 2018.06.30 加入

还未添加个人简介

评论

发布
暂无评论
JAVA基础之JIT