码迷,mamicode.com
首页 > 其他好文 > 详细

JVM中的JIT

时间:2017-07-19 20:24:48      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:虚拟机   机器码   为什么   字节码   text   title   代码   源代码   是什么   

 

JVM中的JIT  


 

 

 

介绍Java虚拟机的文章或者书籍总会提到Java虚拟机中的JIT编译器,可是JIT编译器到底是什么?为什么需要JIT编译呢?


JIT编译器,是Just In Time编译的意思,又称即时编译。
 
Java程序是先从源代码编译到字节码,然后由Java虚拟机来解释执行字节码。当Java虚拟机在解释执行一个Java程序的字节码的时候,正常情况下Java虚拟机是解释一句执行一句,直到程序运行完毕。但是,很多程序中都存在一些”热点“区域,这些区域的代码会被反复调用执行,这样同一段代码就会被Java虚拟机反复的解释,这就导致了Java虚拟机执行效率的低下。为了应对这种情况,Java虚拟机就在执行Java字节码的过程中把检测到的反复执行的”热点“区域代码给编译成机器码,让后边对这段代码的调用可以不用再解释,提高执行效率,这个编译过程就叫JIT编译,因为编译是在字节码解释执行的过程中完成的,所以被称即时编译。
 
Java虚拟机在执行Java字节码的过程中不会对所有的字节码进行即时编译,因为只执行一次的字节码没必要编译成机器码,直接解释执行比即时编译还快。 

JVM中的JIT

标签:虚拟机   机器码   为什么   字节码   text   title   代码   源代码   是什么   

原文地址:http://www.cnblogs.com/zhangzl419/p/7207420.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!