Java虚拟机学习笔记(字节码执行引擎)
来源:互联网 发布:mac创建无线网络 编辑:程序博客网 时间:2024/06/08 17:36
运行时栈帧结构
1.局部变量表 null JIT编译器优化
2.操作数栈 LIFO
3.动态链接 |
4.方法返回地址 | 栈帧信息
5.附加信息 |
——————————————————————————————————
方法调用
1.解析调用
符号引用 静态、私有、实例构造器、父类方法 final 非虚方法
2.分派
1.静态分派
虚拟机(编译器)在重载时是通过参数的静态类型而不是实际类型作为判断
静态类型在编译器是可期的,且选择更加适合的版本
2.动态分派
重写 invokevirtual 运行期确定接受者实际类型
3.单分派与多分派
方法的接收者与方法的参数统称为方法的宗量。
单分派 一宗量 多分派 多余一个宗量
Java语言静态多分派,动态单分派
4.虚拟机动态分派的实现
虚方法表 接口方法表 | 内联缓存 守护内联
——————————————————————————————————
基于栈的字节码解释执行引擎
1.解释执行 (/编译执行)
2.基于栈的指令集 可移植性,更紧凑,简单(/基于寄存器的指令集)速度快,受限硬件
3.基于栈的解释器执行过程
public int add(){ int a =1 ; int b = 2 ; return a+b };
0: bipush 1
2: istore_1
3: sipush 2
6: istore_2
7: iload_1
8: iload_2
9: iadd
10: ireturn
- Java虚拟机学习笔记(字节码执行引擎)
- 《深入理解java虚拟机》学习笔记(5)--虚拟机字节码执行引擎
- 《深入理解java虚拟机》学习笔记之虚拟机字节码执行引擎
- JVM学习笔记六 :虚拟机字节码执行引擎
- Java虚拟机(七)虚拟机字节码执行引擎
- 虚拟机字节码执行引擎学习
- java虚拟机字节码执行引擎浅析
- Java虚拟机字节码执行引擎浅析
- Java虚拟机之字节码执行引擎
- Java虚拟机--字节码执行引擎
- Java虚拟机字节码执行引擎浅析
- Java虚拟机字节码执行引擎
- JAVA虚拟机字节码执行引擎小结
- Java虚拟机字节码执行引擎
- 深入理解Java虚拟机----(七)字节码执行引擎
- 虚拟机字节码执行引擎(八)
- 《深入理解java虚拟机》学习-第八章-虚拟机字节码执行引擎-运行时栈帧结构
- 《深入理解java虚拟机》学习-第八章-虚拟机字节码执行引擎-方法调用
- 关于使用Notepad++中编辑java文件关键字变色的设置
- 读写Unicode带中文的txt文件
- html 中文占位符
- RFC2733-FEC for rtp
- 第10次实验任务
- Java虚拟机学习笔记(字节码执行引擎)
- 排序算法总结4-堆排序
- LVM分区
- android面试题集锦1
- Android socket编程
- 如何设置Eclipse中的每一行容纳的代码数 字节数
- 设计模式 - 建造者模式、解释器模式、模板模式
- 图像处理类
- python正则表达式例子