HotSpot的JIT的两种编译器

HotSpot的JIT的两种编译器;
1)Client Compiler:它是一个简单快速的三段式编译器,主要的关注点在于局部性的优化,而放弃了许多耗时较长的全局优化手段。
2)Server Compiler:它是专门面向服务器端的典型应用并为服务端的性能配置特别调整过的编译器,它会执行·所有经典的优化动作,如无用代码消除、循环展开、循环表达式外提、消除公共子表达式、常量传播、基本快重排序等,还会实施一些与java语言特性相关的密切相关的优化技术,如范围检查消除、空值检查消除。以即使编译的标准来看,Server Compiler无疑是比较缓慢的,但它的编译速度依然远超过传统的静态优化编译器,而且它相对于Client Compiler编译输出的代码质量有所提高,可以减少本地代码的执行时间,从而抵消了额外的编译时间开销,所以也有很多非服务端的应用选择使用Server模式的虚拟机运行。


1)公共子表达式消除
2)数组边界检查消除
3)方法内联

你可能感兴趣的:(HotSpot的JIT的两种编译器)