JAVA虚拟机中的方法分派,内联,与解析
(1) 方法分派:是选择方法:静态分派动态分派 (2) 直接引用转为间接引用:是解析方法的符号引用包括静态解析(类加载时)与动态链接(方法调用)相应的方法称为非虚方法(包括FINAL方法)与虚方法;所以两者处于不同层面 (3)方法内联:JIT优化如果发现是非虚方法,可以直接内联。如果不是则可以采用“基于CHA(类继承关系分析)”的激进优化:如果查出一个版
·
(1) 方法分派:是选择方法:
静态分派
动态分派
(2) 直接引用转为间接引用:是解析方法的符号引用
包括静态解析(类加载时)与动态链接(方法调用)
相应的方法称为非虚方法(包括FINAL方法)与虚方法;
所以两者处于不同层面
(3)方法内联:JIT优化
如果发现是非虚方法,可以直接内联。如果不是则可以采用“基于CHA(类继承关系分析)”的激进优化:
如果查出一个版本
1) 守候内联(逃生门)
如果查出多个版本:
2) 内联缓存
更多推荐
已为社区贡献6条内容
所有评论(0)