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

Jos*_*gun 1 java multithreading jvm memory-management allocation

我正在阅读有关内部Java内存模型的文章.我想问一点:

在Java虚拟机中运行的每个线程都有自己的线程堆栈.线程堆栈包含有关线程调用哪些方法以达到当前执行点的信息.

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

Hen*_*nry 6

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