BarbaraBear
V2EX  ›  Java

Java 内存语义是什么意思啊

  •  
  •   BarbaraBear · Dec 24, 2017 · 5462 views
    This topic created in 3235 days ago, the information mentioned may be changed or developed.

    内存语义是啥意思。

    6 replies  •  2017-12-25 09:38:09 +08:00
    q397064399
    q397064399
    Dec 24, 2017❤️1
    1
    java volatile

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

    描述的不是很清楚,大概意识 应该这样
    palmers
    palmers
    Dec 24, 2017
    2
    我的理解是 java 内存模型
    ipwx
    ipwx
    Dec 24, 2017
    3
    @q397064399 volatile 还管寄存器的问题吧。volatile 禁止使用寄存器缓存某个变量。如果不加的话,不用多核,多线程可能就有问题。
    BarbaraBear
    BarbaraBear
    OP
    Dec 24, 2017
    4
    @q397064399 相当于是一个语法或者一个关键字在内存里面是怎么存储的,可以这样理解么
    q397064399
    q397064399
    Dec 25, 2017
    5
    @ipwx #3 对的,寄存器,,寄存器貌似也是每个核心独立的,
    dumplinger
    dumplinger
    Dec 25, 2017
    6
    就是 Java 的内存模型,或者说 volatile,synchronize,atomic,lock 之类的在 JVM 中的实现原则( JVM 遇到这些关键字的时候会处理)。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1350 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:11 · PVG 04:11 · LAX 12:11 · JFK 15:11
    ♥ Do have faith in what you're doing.