线程堆栈的内部Java内存模型
我在读一篇关于他的文章。 我想问一点: Java虚拟机中运行的每个线程都有自己的线程堆栈。线程堆栈包含有关线程调用哪些方法以达到当前执行点的信息 为什么每个线程都需要保存有关已执行哪些方法的信息(!)?若它和上下文切换有关,那个么(若我并没有错的话)线程必须保存关于当前正在执行的方法的信息。线程堆栈的内部Java内存模型,java,multithreading,memory-management,jvm,allocation,Java,Multithreading,Memory Management,Jvm,Allocation,我在读一篇关于他的文章。 我想问一点: Java虚拟机中运行的每个线程都有自己的线程堆栈。线程堆栈包含有关线程调用哪些方法以达到当前执行点的信息 为什么每个线程都需要保存有关已执行哪些方法的信息(!)?若它和上下文切换有关,那个么(若我并没有错的话)线程必须保存关于当前正在执行的方法的信息。 保存已执行方法信息的实际需要是什么?这是指当前活动的方法。请注意,一个线程中可能有多个方法同时处于活动状态(a调用B调用C,…)。堆栈不包含有关已完成的方法的信息。这是指当前活动的方法。请注意,一个线程中可
保存已执行方法信息的实际需要是什么?这是指当前活动的方法。请注意,一个线程中可能有多个方法同时处于活动状态(a调用B调用C,…)。堆栈不包含有关已完成的方法的信息。这是指当前活动的方法。请注意,一个线程中可能有多个方法同时处于活动状态(a调用B调用C,…)。堆栈中不包含有关已完成的方法的信息。我认为重新表述这一段可以使它更清晰、更容易理解: Java虚拟机中运行的每个线程都为其调用堆栈分配一些内存。调用堆栈包含有关线程调用哪些方法以达到当前执行点的信息
我认为改写这一段可以使它更清楚、更容易理解: Java虚拟机中运行的每个线程都为其调用堆栈分配一些内存。调用堆栈包含有关线程调用哪些方法以达到当前执行点的信息
“has call”与“has executed”不同“has call”与“has executed”不同