(1) 方法分派:是选择方法:静态分派动态分派
(2) 直接引用转为间接引用:是解析方法的符号引用包括静态解析(类加载时)与动态链接(方法调用)
相应的方法称为非虚方法(包括FINAL方法)与虚方法;所以两者处于不同层面
(3)方法内联:JIT优化如果发现是非虚方法,可以直接内联。如果不是则可以采用“基于CHA(类继承关系分析)”的激进优化:如果查出一个版本1) 守候内联(逃生门)
如果查出多个版本:2) 内联缓存
(1) 方法分派:是选择方法:静态分派动态分派
(2) 直接引用转为间接引用:是解析方法的符号引用包括静态解析(类加载时)与动态链接(方法调用)
相应的方法称为非虚方法(包括FINAL方法)与虚方法;所以两者处于不同层面
(3)方法内联:JIT优化如果发现是非虚方法,可以直接内联。如果不是则可以采用“基于CHA(类继承关系分析)”的激进优化:如果查出一个版本1) 守候内联(逃生门)
如果查出多个版本:2) 内联缓存
上一篇: >浅谈Java的volatile