工作内存在JVM运行时内存中是怎么体现的呢?
来源:4-2 如何写出线程安全的程序?

_广志_
2019-02-25
看到这里时对工作内存在JVM运行时内存中的体现有点疑惑
如下图,我们知道JVM中的运行是内存模型是这样的,工作内存应该是在线程私有内存中
但线程私有内存中只有 PC、VM Stack 和 Native Stack
其中比较有可能对应工作内存的只有VM Stack了
但VM Stack的某一个栈帧结构如下图,其中好像也没有对应工作内存的部分
所以比较疑惑,求解答
写回答
1回答
-
首先点赞哈,同学很认真啦。其实这里的内存模型,是一个比较抽象的概念,工作内存也被称作本地内存,不一定真的存在,在实际的运作中可能指CPU缓存、各类缓冲、寄存器等等,简单来说可以用Cpu 的缓存和内存来理解,前者就可以认为是工作内存,后者就是主内存。
实际上你就发现这个与Java虚拟机内存的分法是不在一个维度的,不管是堆还是栈,内存里面的数据读出来到CPU中间会经历一些环节,写回来也是如此。
132019-02-25
相似问题