您的位置:首页 > 其它

不同的虚拟机,不同的执行引擎

2015-01-26 09:57 148 查看
java虚拟机的主要任务是加载.class文件和执行字节码,其中,加载.class文件主要是由类装载器完成,字节码是由执行引擎来完成;不同的虚拟机就对应有不同的执行引擎:

1.由软件实现的虚拟机中,最简单的执行引擎是一次性解释字节码;

2.即时编译器(just-in-time compiler):第一次执行的字节码会被编译成本地机器代码,编译成本地机器代码会被缓存,当方法以后被调用的时候可以重用,这种执行引擎更快,但也更消耗内存;

3.自适应优化器:虚拟机开始的时候解释字节码,但是会监视运行过程中程序的活动,并且记录下使用最频繁的代码段,程序运行的时候,虚拟机只需把活动最频繁的代码段编译成本地代码,其他的字节码由于使用不是很频繁,继续保留字节码,有虚拟机继续解释他们;

4.由硬件芯片构成,用本地方法执行java字节码,这种执行引擎实际上是内嵌在芯片里面的;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: