豆瓣
扫码直接下载
在读 深入Java虚拟机(原书第2版)
1.3.1 Java虚拟机 不同的Java虚拟机中,执行引擎可能实现的非常不同。在由软件实现的虚拟机中,最简单的执行引擎就是一次性解释字节码。另一种执行引擎更快,但是也更消耗内存,叫做“即时编译器”(Just-in-time compiler)。在这种情况下,第一次被执行的字节码会被编译成本地机器代码。编译出的本地机器代码会被缓存,当方法以后被调用的时候可以重用。第三种执行引擎是自适应优化器。在这种方法里,虚拟机开始的时候解释字节码,但是会监视运行中程序的活动,并且记录下使用最频繁的代码段。程序运行的时候,虚拟机只把那些活动最频繁的代码编译成本地代码,其他的代码由于使用得并不频繁,继续保留为字节码——由虚拟机继续解释它们。一个自适应的优化器可以使得Java虚拟机在80%~90%的时间里执行被优化过的本地代码,而只需要编译10%~20%对性能有影响的代码。最后一种虚拟机由硬件芯片构成,它用本地方法执行Java字节码,这种执行引擎实际上内嵌在芯片里的。引自 第1章 Java体系结构介绍Java虚拟机执行引擎的几种方式。
Java虚拟机执行引擎的几种方式。
> knightley的所有笔记(138篇)
表示其中内容是对原文的摘抄