首页后端开发其他后端知识Java是怎么运行方法的,执行过程是怎样

Java是怎么运行方法的,执行过程是怎样

时间2024-03-24 08:10:03发布访客分类其他后端知识浏览300
导读:这篇文章分享给大家的内容是关于Java是怎么运行方法的,执行过程是怎样,本文介绍得很详细,内容有一定的参考价值,能帮助大家进一步学习和理解“Java是怎么运行方法的,执行过程是怎样”,有这方面学习需要的朋友可以看看,接下来就让小编带领大家一...
这篇文章分享给大家的内容是关于Java是怎么运行方法的,执行过程是怎样,本文介绍得很详细,内容有一定的参考价值,能帮助大家进一步学习和理解“Java是怎么运行方法的,执行过程是怎样”,有这方面学习需要的朋友可以看看,接下来就让小编带领大家一起来学习一下吧。


一.前提

1.栈的内存原理图

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

  • 1.在运行阶段的时候,classLoader类加载器会把class文件中方法对应的代码片段放入内存区中的方法区中,以便于下次调用方法时,还能使用该方法。
  • 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方法里面的语句

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

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

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

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

4.示例代码运行截图



通过以上内容的阐述,相信大家对“Java是怎么运行方法的,执行过程是怎样”已经有了进一步的了解,更多相关的问题,欢迎关注网络或到官网咨询客服。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Java是怎么运行方法的,执行过程是怎样
本文地址: https://pptw.com/jishu/651930.html
MySQL服务无法启动的情况怎样处理? PHP中数据库修改表要注意哪些,用什么SQL语句?

游客 回复需填写必要信息