Python 官方文档:入门教程 => 点击学习
目录一.前提1.栈的内存原理图2.JVM是怎么运行方法的???二.调用(执行)过程1.方法调用时的规则2.示例代码3.整个程序的方法调用的过程图4.示例代码运行截图一.前提 1.栈的
方法首次调用时,会通过类加载器将方法的对应的代码块加载到内存中方法区
每次调用方法时相当于一次压栈过程,当方法里面的语句全部执行完毕,就会把该方法进行弹栈操作(若不弹栈的话,到某个时候必会产生堆栈溢出异常)
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.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方法调用处以及后面的语句
到此这篇关于简单解析java方法在调用在内存中的执行过程 的文章就介绍到这了,更多相关java方法调用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: 简单解析java方法在调用在内存中的执行过程
本文链接: https://lsjlt.com/news/153945.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0