Java内存模型

isen
isen
发布于 2023-09-25 / 21 阅读 / 0 评论 / 0 点赞

Java内存模型

Java Memory Model

笔记:

  1. java的堆和栈均可能在内存、cpu缓冲、cpu寄存器中。
    64dcba1a0ba64d77b4513d5323e9de38.png

  2. volatile 关键字可以保证线程从主内存中读取变量,然后将修改后的变量写回主内存。
    e0dbbc1cb8bb4c0da603eb7d665b91cb.png

  3. synchronized 块可以保证同一时间点只有一个线程访问临界区,并且线程在临界区内访问的所有变量将会从主内存中读取,当线程退出临界区时,所有修改的变量将会写回主内存,不管变量是否有 volatile 修饰。
    e9e91274985d4039bd005373d36856b9.png