我在读关于内部Java内存模型的文章。有一点我想问:
在Java虚拟机中运行的每个线程都有自己的线程堆栈。线程堆栈包含有关线程调用哪些方法以到达当前执行点的信息。
为什么每个线程都需要保存关于已经执行了哪些方法的信息(!)?如果它与上下文切换相关,那么(如果我没有错)线程必须保存有关当前正在执行的方法的信息。保存已经执行的方法的信息的实际需要是什么?
发布于 2019-02-25 08:23:52
这指的是当前活动的方法。请注意,线程可以同时活动多个方法(A调用B调用C,.)。堆栈不包含有关已经完成的方法的信息。
发布于 2019-02-25 11:37:04
我认为改写这一段使之更清楚和更容易理解:
在Java虚拟机中运行的每个线程为其调用堆栈分配一些内存。调用堆栈包含有关线程调用哪些方法以到达当前执行点的信息。
https://stackoverflow.com/questions/54862051
复制相似问题