本文内容如有错误、不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢。
JMM(Java Memory Model) java内存模型,首先它是不存在的只是硬件抽象的规范和概念。
JMM的特性:1. 可见性 2. 原子性 3. 有序性
下面简单介绍一下JVM和JMM的关系:
JVM运行程序的实体是线程,而每个线程在创建时JVM都会为其创建一个工作内存(栈空间),JMM规定所有的变量都存储在主内存中,主内存是共享的内存区域(所有线程都可以访问),其他线程操作变量都是从主内存拷贝变量的副本到工作内存中因为线程对变量的操作只能在工作内存中进行,操作完变量后将变量写回到主内存中,不能直接操作主内存中的变量。不同的线程不能相互访问对方的工作内存中的数据,因此各个线程直接的交互只能通过主内存来完成。