模型和JMM(Java内存模型)的异同小结"/>
JVM内存模型和JMM(Java内存模型)的异同小结
1、JVM内存模型和JMM(Java内存模型)不是一回事,JMM来源于JSR-133:memory_model-1_0-pfd-spec.pdf.
JMM的目的是为了解决Java多线程对共享数据的读写一致性问题,通过Happens-Before语义定义了Java程序对数据的访问规则,修正之前由于读写冲突导致的Cache数据不一致的问题。具体到Hotspot VM的实现,主要是由OrderAccess类定义的一些列的读写屏障来实现JMM的语义。
JVM内存模型则是指JVM的内存分区。
2、Java内存模型和操作系统内存模型的关系
3、JVM的内存结构
4、对于JMM和JVM本身的内存模型,这两者本身没有关系。如果一定要勉强对应,则从变量,主内存,工作内存的定义来看,主内存主要是对应于Java堆中的对象实例数据部分,而工作内存则对应于虚拟机栈中的部分区域。从更低层次上说,主内存就是物理内存,而为了获取更好的执行速度,虚拟机(甚至是硬件系统本身的优化措施)可能会让工作内存优先存储于寄存器和高速缓存中,因为运行时主要访问–读写的是工作内存。
更多深入了解文档:
.html
.html
.html
=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
更多推荐
JVM内存模型和JMM(Java内存模型)的异同小结
发布评论