JVM栈帧内部结构-方法返回地址
2020-03-28 20:17
148 查看
方法返回地址(Return Address):
存放调用该方法的PC寄存器的值。
方法结束方式:
1) 正常结束
2) 出现未处理异常,非正常退出(通过异常完成出口退出的不会给他的上层调用者生产任何的返回值)
无论通过哪种方式退出,在方法退出后到该方法被调用的位置,方法正常退出时,调用者的PC计数器的值作为返回地址,即调用该方法的指令的下一条指令地址,而通过异常退出的,返回地址是要通过异常表来确定,栈帧中一般不会保存这部分信息。
Return:
当一个方法开始执行后,执行引擎遇到任意一个方法返回的字节码指令(return),会有返回值传递给上层的方法调用者,称正常完成出口
字节码指令中,返回指令包含ireturn(当返回值是boolean、byte、char、short、int类型时使用)lreturn、freturn、dreturn、areturn(return指令供声明void的方法、实例初始化方法、类和接口的初始化方法使用)。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 结构变量作为方法的参数调用,在方法内部使用的“坑”你遇到过吗?
- 用console.table方法调试打印JS对象的内部结构
- ConcurrentHashMap内部结构和put remove方法分析
- (三分钟系列)详解Redis中列表(List)的使用方法和内部结构
- 【数据结构之排序11】各种内部排序方法的比较和选择
- 查看pdf内部结构方法(基于pdfbox实现)
- 结构变量作为方法的参数调用,在方法内部使用的“坑”你遇到过吗?
- 显示B树索引的内部结构的方法(实验)
- 解析Cloudera Manager内部结构、功能包括配置文件、目录位置等
- 三层结构下的DBHelper方法
- jsp的内部方法使用
- 查看mysql表结构和表创建语句的方法
- 路由器的内部结构
- 全局安装vue-cli之后,命令行执行vue -V,提示:“vue”不是内部或外部命令解决方法
- C#之方法传递结构和类之间的区别学习案例
- 构造器内部的多态方法的行为
- vuex组件内部单独使用方法
- mysqldump 常用备份选项,只备份数据或结构的方法
- (2013-4-21)数据结构实验三:狐狸逮兔问题(方法一:顺序表实现)
- oracle block internal(block 内部结构分解)[要看]