【面试】Java内存模型

Java内存模型

  • Java的多线程之间是通过共享内存进行通信的,在通信过程中会存在一系列如可见性、原子性、顺序性等问题,而JMM就是围绕着多线程通信以及与其相关的一系列特性而建立的模型。JMM定义了一些语法集,这些语法集映射到Java语言中就是volatile、synchronized等关键字。有兴趣可以看看我的另外一篇笔记:https://www.jianshu.com/p/3c1691aed1a5

  • Java内存模型规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程的工作内存中保存了该线程中是用到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存。不同的线程之间也无法直接访问对方工作内存中的变量,线程间变量的传递均需要自己的工作内存和主存之间进行数据同步进行


文章作者: Ciwei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Ciwei !
 上一篇
【面试】JDBC执行流程 【面试】JDBC执行流程
JDBC执行流程 JDBC执行流程: 连接数据源 为数据库传递查询和更新指令 处理数据库响应并返回的结果 document.querySelectorAll('.github-emoji')
2019-08-22
下一篇 
【面试】JVM内存结构 【面试】JVM内存结构
JVM内存结构JVM内存结构是Java程序员必须掌握的基础 程序计数器(PC 寄存器) 程序计数器是一块较小的内存空间,可以看作当前线程所执行的字节码的行号指示器。在虚拟机的模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下
2019-08-22
  目录