java虚拟机当中解释器和jit代码生成器是怎么回事?

时间:2021-10-13 14:00:13
java虚拟机当中既然已经有了解释器,为什么还有一个jit(just in time,即时编译器)?jit已经把字节码编译成了本机代码了那还要运行时解释器干吗?
希望高手指点,先多谢了.

4 个解决方案

#1


java虚拟机的执行引擎有三种
1.就是我们常说的解释器
2.另外一种就是jit,这种情况,第一次执行的字节码会编译成本地的机器代码,被缓存在系统中,以后可以随时调用
3.还有一种自适应的优化器,这种方法里,虚拟机开始的时候解释字节码,但是会监控运行中程序的活动,并记录下使用最频繁的代码段,虚拟机会把这些活动最频繁的代码段编译成本地代码

其实以上提的都是软件实现的虚拟机,还有一种虚拟机是由硬件芯片构成,它用本地方法执行java字节码

#2


果然java里面的东西多

#3


学习

#4


应该说有部分常用的代码会给JIT成本地代码,而不常用的代码JVM会解释运行

#1


java虚拟机的执行引擎有三种
1.就是我们常说的解释器
2.另外一种就是jit,这种情况,第一次执行的字节码会编译成本地的机器代码,被缓存在系统中,以后可以随时调用
3.还有一种自适应的优化器,这种方法里,虚拟机开始的时候解释字节码,但是会监控运行中程序的活动,并记录下使用最频繁的代码段,虚拟机会把这些活动最频繁的代码段编译成本地代码

其实以上提的都是软件实现的虚拟机,还有一种虚拟机是由硬件芯片构成,它用本地方法执行java字节码

#2


果然java里面的东西多

#3


学习

#4


应该说有部分常用的代码会给JIT成本地代码,而不常用的代码JVM会解释运行