开发者社区> 问答> 正文

JMM是什么?

JMM是什么?

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击链接欢迎加入感兴趣的技术领域群。

展开
收起
游客pklijor6gytpx 2019-11-11 14:41:15 8794 0
6 条回答
写回答
取消 提交回答
  • java内存模型

    2020-08-03 21:13:55
    赞同 展开评论 打赏
  • Java内存模型——JMM

    2020-03-19 23:26:09
    赞同 展开评论 打赏
  • JMM你可以对比JDBC来理解,我们操作数据库,都是使用JDBC规范的,但是实际JDBC规范都是由各个厂商来自己实现.我们只需要使用JDBC中的相关知识,就可以直接操作数据库.

    JMM同理. 定义了一种规范,目的是解决多线程共享和通信问题. 我们使用volatile或者synchronize等关键字,底层是由各个JVM厂商去实现的,你只要知道volatile关键字是干什么的就可以.

    可以参照一下 masonwang 的回答.

    2019-12-31 16:07:13
    赞同 1 展开评论 打赏
  • JMM是一种规范,目的是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码指令重排序、处理器会对代码乱序执行等带来的问题。

    2019-12-12 16:10:35
    赞同 展开评论 打赏
  • 为之则易,不为则难

    在cpu计算能力飞速发展的情况下,cpu从内存中读取数据已经满足不了cpu的运算速度了,所以需要再引入一层高速缓存来作为内存和处理器之间的缓冲,在Java中,多线程的场景下,系统会为每个线程开辟一个单独的本地内存,同时存在一个存储共享变量的主内存,线程运行时,会将主内存中的数据拷贝到各自的工作内存中,每个工作内存之间对数据的修改是不可见的。使用volatile关键字可是使线程之间的数据修改可见。

    2019-11-12 10:18:54
    赞同 展开评论 打赏
  • Java内存模型,屏蔽了各种硬件和操作系统的访问差异

    2019-11-11 14:42:53
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
原子变量与内存模型 立即下载
多线程 立即下载
低代码开发师(初级)实战教程 立即下载