Java 内存模型中的工作内存跟主内存的物理概念是什么

2021-05-13 15:07:10 +08:00
 fatyoung
本地内存=cpu 高速缓存?
主内存=内存?
不知道这样理解对不对,看到网上有人说本地内存=cpu 寄存器里的内容,但是我细细一想,如果指的是 cpu 寄存器,那假设有个 cpu 是单核的,只有一个核心,也就是说只有一个寄存器,那本地内存跟主内存之间的可见性问题不就不存在了?因为内存就一份,本地内存也就一份了(一个寄存器)。
求解答。
2921 次点击
所在节点    程序员
25 条回复
fatyoung
2021-05-14 10:24:22 +08:00
其实我还有个疑惑。。。JVM 中的程序计数器( PC 寄存器)的物理实现是不是就类似于 CPU 中寄存器?
因为这两者都是用于线程切换时保存当前线程执行的指令位置,主要是为了当前线程重新获得时间片之后的后续执行。如果说得不对大家就当看个笑话哈哈。。
GrayXu
2021-05-14 10:31:44 +08:00
@halo117 难怪从来没见过这个概念。。。看到这标题直接懵了我
ljzxloaf
2021-05-14 15:09:37 +08:00
@fatyoung #21
对应 eip
halo117
2021-05-14 20:22:33 +08:00
搜索一下就找到原文说法了,docs.oracle.com/javase/specs/jvms/se6/html/Threads.doc.html,就是 cpu cache 无疑
halo117
2021-05-14 20:24:28 +08:00
Every thread has a working memory in which it keeps its own working copy of variables that it must use or assign. As the thread executes a program, it operates on these working copies. The main memory contains the master copy of every variable. There are rules about when a thread is permitted or required to transfer the contents of its working copy of a variable into the master copy or vice versa.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/776726

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX