java方法调用在内存中怎么执行

发布时间:2023-04-19 09:36:11 作者:iii
来源:亿速云 阅读:117

这篇文章主要介绍“java方法调用在内存中怎么执行”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java方法调用在内存中怎么执行”文章能帮助大家解决问题。

一.前提

1.栈的内存原理图

java方法调用在内存中怎么执行

2.JVM是怎么运行方法的???

二.调用(执行)过程

1.方法调用时的规则

方法首次调用时,会通过类加载器将方法的对应的代码块加载到内存中方法区

每次调用方法时相当于一次压栈过程,当方法里面的语句全部执行完毕,就会把该方法进行弹栈操作(若不弹栈的话,到某个时候必会产生堆栈溢出异常)

2.示例代码
public class Practice {
    public static void main(String[] args) {
        System.out.println("main 开始");
        show1();
        System.out.println("main 结束");
    }
    public static void show1(){
        System.out.println("show1 开始");
        show2();
        System.out.println("show1 结束");
    }
    public static void show2(){
        System.out.println("show2 开始");
        System.out.println("show2 结束");
    }
}
3.整个程序的方法调用的过程图

3.1 JVM会自动调用main方法,因此main方法首先压栈,然后依次执行main方法里面的语句

java方法调用在内存中怎么执行

3.2 当遇到show1()方法时,会把show1()方法压栈,并去执行show1方法里面的语句

java方法调用在内存中怎么执行

3.3 执行show1方法里面的语句时,当执行到show2()时,show1方法暂停,然后对show2方法压栈,然后执行show2方法的内容

java方法调用在内存中怎么执行

3.4 当执行完show2方法里面的内容时,会对show2方法进行弹栈,返回至show1方法中调用show2方法的位置,若没有对返回值有赋值操作,就会去执行后面的语句

java方法调用在内存中怎么执行

3.5 执行完show1方法后会对show1方法进行弹栈,返回show1方法调用处的位置,然后去执行show1方法调用处以及后面的语句

java方法调用在内存中怎么执行

4.示例代码运行截图

java方法调用在内存中怎么执行

关于“java方法调用在内存中怎么执行”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

推荐阅读:
  1. 深入研究java gc
  2. Java 专业数据计算包

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Java动态绑定机制如何实现

下一篇:Java类加载器与双亲委派机制如何应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》