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

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

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

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

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

   4.由硬件芯片构成,用本地方法执行java字节码,这种执行引擎实际上是内嵌在芯片里面的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值