(1) 方法分派:是选择方法:

静态分派

动态分派

 

(2) 直接引用转为间接引用:是解析方法的符号引用

包括静态解析(类加载时)与动态链接(方法调用)

相应的方法称为非虚方法(包括FINAL方法)与虚方法;

所以两者处于不同层面

 

(3)方法内联:JIT优化

如果发现是非虚方法,可以直接内联。如果不是则可以采用“基于CHA(类继承关系分析)”的激进优化:

如果查出一个版本

1) 守候内联(逃生门)

如果查出多个版本:

2) 内联缓存

 

 

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐