Java 内存语义是什么意思啊

2017-12-24 15:21:41 +08:00
 BarbaraBear

内存语义是啥意思。

4350 次点击
所在节点    Java
6 条回复
q397064399
2017-12-24 17:48:29 +08:00
java volatile

如果是这个的话, 现代计算机 CPU 每个核心有 L1 Cache L2 Cache 然后才是主存,
volatile 的话 应该指的是讲 值变化后 会立即写入 主存 RAM 然后其它 CPU 核心 是立即可见的话

描述的不是很清楚,大概意识 应该这样
palmers
2017-12-24 20:18:25 +08:00
我的理解是 java 内存模型
ipwx
2017-12-24 21:17:07 +08:00
@q397064399 volatile 还管寄存器的问题吧。volatile 禁止使用寄存器缓存某个变量。如果不加的话,不用多核,多线程可能就有问题。
BarbaraBear
2017-12-24 21:52:44 +08:00
@q397064399 相当于是一个语法或者一个关键字在内存里面是怎么存储的,可以这样理解么
q397064399
2017-12-25 07:12:40 +08:00
@ipwx #3 对的,寄存器,,寄存器貌似也是每个核心独立的,
dumplinger
2017-12-25 09:38:09 +08:00
就是 Java 的内存模型,或者说 volatile,synchronize,atomic,lock 之类的在 JVM 中的实现原则( JVM 遇到这些关键字的时候会处理)。

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

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

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

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

© 2021 V2EX