在以下示例中,创建了多少堆栈?
public class Test {
public static void main(String [] args){
Test test = new Test();
test.callMe();
}
public void callMe(){
System.out.println("Call Me");
callMe2();
}
public void callMe2(){
System.out.println("Call Me2");
}
}
如果有两个线程同时访问 main 方法,会创建多少堆栈?堆栈不是在方法之间共享吗?
最佳答案
每个线程都有一个堆栈,每个方法调用都使用该堆栈的一个新区域。这意味着如果一个方法调用自己,它将有一组新的局部变量。
关于java - 每个线程或每个方法调用的堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400940/