您当前的位置: 首页 >  Java

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java多线程 Java内存模型相关常见面试题

java持续实践 发布时间:2020-09-07 19:46:13 ,浏览量:1

文章目录
      • 什么是Java内存模型?(重点)
      • volatile和synchronized的异同
      • 原子性
      • 可见性

什么是Java内存模型?(重点)

c语言没有内存模型, 在多核情况下表现不一致. 有三种概念, JVM内存结构, Java对象模型, Java内存模型. JVM内存结构, Java对象模型可以点击下面的链接查看. JVM内存结构, Java对象模型 JMM Java内存模型可以点击下面的链接. JMM Java内存模型 重排序 可见性 原子性 是JMM最主要的体现,也是最重要的内容. 可以讲讲重排序的例子和好处. 重点放在可见性上, 讲讲JMM的抽象, 抽象成了主内存和工作内存这两块. 再可以讲讲happens-before九大规则 happens-before九大规则 接着可以讲讲volatile关键字. volatile的适用场合 , 以及和synchronized的关系 . synchronized不仅仅保证原子性, 并且保证可见性. 并且把synchronized附近的代码, 都可以做到同步的效果. 接着讲讲原子性 原子性介绍 ,Java中的原子性

volatile和synchronized的异同

volatile和synchronized的异同

原子性

什么是原子性, Java中有哪些原子性操作, 生成对象的过程是不是原子性操作, 原子性介绍 ,Java中的原子性

生成对象不是原子性操作

64位的double 和long 写入的时候一定是原子的吗? Java中没有规定一定是原子性的, 那么在写入的时候, 可能会出现前32位和后32位错位的情况. 但是在实际的生产环境中, 都是原子性的, 因此在实际的开发中, 不需要对double和long进行额外的保证原子性的操作.

可见性

什么是内存可见性? 可见性demo 可见性问题出现的原因

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0453s