java - 线程堆栈的内部 Java 内存模型

标签 java multithreading memory-management jvm allocation

我正在阅读关于 Internal Java Memory Model 的文章. 有一点想问一下:

Each thread running in the Java virtual machine has its own thread stack. The thread stack contains information about what methods the thread has called to reach the current point of execution.

为什么每个线程都需要保存有关已执行哪些方法的信息(!)?如果它与上下文切换有关,那么(如果我没记错的话)线程必须保存有关当前正在执行的方法的信息。 实际需要保存已执行方法的信息是什么?

最佳答案

这是指当前活跃的方法。请注意,线程中可以同时激活多个方法(A 调用 B 调用 C,...)。堆栈不包含有关已完成方法的信息。

关于java - 线程堆栈的内部 Java 内存模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54862051/

相关文章:

java - 提交表单以在新窗口中打开 pdf 时丢失参数

Java servlet 过滤器 - 阻止来自客户端的所有请求

objective-c - 有人可以解释一下 Objective-C 上的这一行代码吗?

java - 如何让Android Studio生成R.java?

java - 错误: cannot be resolved to a variable

python - 在循环中运行两个相互依赖的线程

java - jframe如何实现多线程

ruby-on-rails - 如何使用 ruby​​ 加速大型 CSV 的处理

language-agnostic - "Out Of Memory"是可恢复的错误吗?

C++ : about memory management