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堆中的对象实例数据部分,而工作内存则对应于虚拟机栈中的部分区域。从更低层次上说,主内存就是物理内存,而为了获取更好的执行速度,虚拟机(甚至是硬件系统本身的优化措施)可能会让工作内存优先存储于寄存器和高速缓存中,因为运行时主要访问–读写的是工作内存。


更多深入了解文档:

http://www.infoq.com/cn/profile/程晓明

 https://www.cnblogs.com/chihirotan/p/6486436.html

https://blog.csdn.net/sc313121000/article/details/40266531

https://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html

http://tutorials.jenkov.com/java-concurrency/java-memory-model.html

https://blog.csdn.net/u012152619/article/details/46968883

https://www.jianshu.com/p/743f5abd3383?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

https://www.jianshu.com/p/bf158fbb2432

https://www.jianshu.com/p/e0e80d004a86?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东帝魔君之魔尊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值