JAVA虚拟机中的方法分派,内联,与解析
2011-12-29 09:39
134 查看
(1) 方法分派:是选择方法:
静态分派
动态分派
(2) 直接引用转为间接引用:是解析方法的符号引用
包括静态解析(类加载时)与动态链接(方法调用)
相应的方法称为非虚方法(包括FINAL方法)与虚方法;
所以两者处于不同层面
(3)方法内联:JIT优化
如果发现是非虚方法,可以直接内联。如果不是则可以采用“基于CHA(类继承关系分析)”的激进优化:
如果查出一个版本
1) 守候内联(逃生门)
如果查出多个版本:
2) 内联缓存
静态分派
动态分派
(2) 直接引用转为间接引用:是解析方法的符号引用
包括静态解析(类加载时)与动态链接(方法调用)
相应的方法称为非虚方法(包括FINAL方法)与虚方法;
所以两者处于不同层面
(3)方法内联:JIT优化
如果发现是非虚方法,可以直接内联。如果不是则可以采用“基于CHA(类继承关系分析)”的激进优化:
如果查出一个版本
1) 守候内联(逃生门)
如果查出多个版本:
2) 内联缓存
相关文章推荐
- 4段代码了解Java虚拟机虚方法和非虚方法的分派
- JAVA方法调用中的解析与分派
- 深入理解java虚拟机(十一) 方法调用-解析调用与分派调用
- java虚拟机的方法解析发生的阶段
- 深入理解JVM08--虚拟机执行子系统--方法调用详解(解析、分派)
- java中的方法调用-解析与分派
- 多态方法调用的解析和分派
- 《深入理解java虚拟机》读书笔记——方法的解析调用与分派调用
- 关于JVM中方法调用的相关指令,以及解析(Resolution)和分派(Dispatch)的解释——重载的实现原理与重写的实现原理
- 在线聊天项目1.4版 使用Gson方法解析Json字符串以便重构request和response的各种请求和响应 解决聊天不畅问题 Gson包下载地址
- aop源码解析四-代理方法的调用
- 从头到尾彻底解析Hash表算法十道海量数据处理面试题与十个方法大总结
- 常见硬盘加密解密的4种方法解析
- AbstractEditPart类中的几个重要方法的解析
- [C# 基础知识系列]专题十五:全面解析扩展方法
- 打不开Godaddy.com网站和域名无法解析的解决方法
- EL表达式不被解析的解决方法
- 解析php防止form重复提交的方法
- Thread方法解析
- Objective-C中关于请求返回NSData数据解析成NSDictionary或NSArray的方法