即时编译器和解释器的分析
oracle开源的HotSpot虚拟机中内置了两个即时编译器:Client Complier和Server Complier,简称为C1、C2编译器,分别用在客户端和服务端。目前主流的HotSpot虚拟机中默认是采用解释器与其中一个编译器直接配合的方式工作。程序使用哪个编译器,取决于虚拟机运行的模式。HotSpot虚拟机会根据自身版本与宿主机器的硬件性能自动选择运行模式,用户也可以使用“-client”或“-server”参数去强制指定虚拟机运行在Client模式或Server模式。
即时编译器
将java源码编译成所在平台适应的机器码直接执行,一次编译多次运行。
解释器
将java源码解释成class文件,在跨平台的JVM中编译成机器码运行。