java中方法调用在内存中的体现
Posted 安卓笔记侠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中方法调用在内存中的体现相关的知识,希望对你有一定的参考价值。
在java中,方法以及局部变量(即在方法中声明的变量)是放在栈内存上的。当你调用一个方法时,该方法会放在调用栈的栈顶。栈顶的方法是目前正在执行的方法,直到执行完毕才会从栈顶释放。我们知道,栈是一种执行”先进后出”的数据结构。我在下面举些实际的例子。先看代码。
public void graduate()//第一个方法
{
study();
}
public void study()//第二个方法
{
readBooks();
}
public void readBooks()//第三个方法
{
boolean done = true;
}
第一个方法在执行过程中会调用第二个方法,此时,第一个方法在栈中被压在下面,第二个方法进栈,置于栈顶,第二个方法在执行的时候调用第三个方法,此时,第二个方法被压入下面,第三个方法进栈,至于栈顶,栈顶上的方法就是目前正在执行中的。
graduate() |
study() |
graduate() |
readBooks() |
study() |
graduate() |
study() |
graduate() |
以上是关于java中方法调用在内存中的体现的主要内容,如果未能解决你的问题,请参考以下文章
java中,静态方法被调用是,存储在内存的哪个区域?是栈?还是放大区?还是两者都有?