BarbaraBear
V2EX  ›  Java

Java 内存语义是什么意思啊

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

    内存语义是啥意思。

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

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

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