java - 每个线程或每个方法调用的堆栈?

标签 java multithreading stack

在以下示例中,创建了多少堆栈?

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/

相关文章:

c - 在 C 语言的循环中重复在堆栈上创建缓冲区是不好的做法吗?

c++ - Infix to Postfix to Output (Postfix Calculator) 使用堆栈

Java Stax Iterator API方法实现

java - Java 版 Google Drive 推送通知授权

java - 谁调用方法 TextView.onMeasure(int, int) 并给它两个参数?

python - 我可以从 Python 中的线程导入模块吗?

c - 测试 "pthread_create"功能行为

c++ - 关于运行良好的堆栈 RPN 程序上的 char/int

java - 在 session bean 中绑定(bind)表单值

c++ - std::this_thread::yield() 与 std::this_thread::sleep_for()