栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JVM之方法返回地址

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM之方法返回地址

一、存放的是调用者的pc寄存器的值:

二、一个方法的结束,有两种方式:

      1.正常执行完成。

      2出现未处理的异常,非正常退出。

三、无论通过那种方式退出,在方法退出后都返回到该方法被调用的位置。方法正常退出时,调用者的pc寄存器的值作为返回地址,即调用该方法的下一条指令的地址。而异常退出的,返回地址是通过异常表来确定,栈帧中一般不会保存这部分信息。

四、本质上,方法的退出就是当前栈帧出栈的过程,此时需要恢复上层方法的局部变量表,操作数栈,将返回值压入调用者的栈帧的操作数栈,设置pc寄存器值等,让调用者方法继续执行下去。

五。正常完成出口和异常完成出口的区别在于:通过异常完成出口退出的不会给他上层调用者产生任何的返回值。

六、方法退出的指令:

  (1)正常退出:

a.执行引擎遇到任意一个方法返回的字节码指令(return),会有返回值传递给上层的方法调用者,简称正常完成出口。

b.类型:根须方法返回值的实际数据类型而定。

c.ireturn:返回值是boolean,byte,char,short,int

   lreturn:返回值是 long.

   dreturn:返回值是double。

    freturn:返回值是flot

    areturn:返回值是 引用类型

     return:返回值是void.

  (2)异常退出:

a.概念:在方法执行的过程中遇到了异常,并且这个异常没有在方法内进行处理,也就是只要在本方法的异常表中没有搜索到匹配的异常处理器,就会导致方法退出,简称异常完成出口。

b.例子:

 在字节码 4-8行中遇到异常,用字节码11行的异常处理器进行处理。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631587.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号