happens-before的概念来阐述操作之间的内存可见性。在JMM中,如果一 个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在happens-before关系

  • 程序顺序规则:一个线程中的每个操作,happens-before于该线程中的任意后续操作
  • 监视器锁规则:对一个锁的解锁,happens-before于随后对这个锁的加锁。
  • volatile变量规则:对一个volatile域的写,happens-before于任意后续对这个volatile域的读
  • ·传递性:如果A happens-before B,且B happens-before C,那么A happens-before C。

面试——讲讲什么是happens-before?相关推荐

  1. 面试官:会玩牌吧?给我讲讲洗牌算法和它的应用场景吧!

    有一次参加面试,面试官问我:"会玩牌吧?" 内心:"咋滴,这是要玩德州扑克(或者炸金花),赢了他就能通过面试么?" 结果-- 没想到面试官的下一句话:" ...

  2. 面试:你说你精通Java并发,给我讲讲Java并发之J.U.C

    转载自 面试:你说你精通Java并发,给我讲讲Java并发之J.U.C J.U.C J.U.C即java.util.concurrent包,为我们提供了很多高性能的并发类,可以说是java并发的核心. ...

  3. 面试官让我讲讲Java中的锁,我笑了

    转载自  面试官让我讲讲Java中的锁,我笑了 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁 ...

  4. 简述ip地址的abc类如何划分_面试官问:讲讲IP地址的分配原理

    网络模型介绍 在计算机网络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂又不实用.TCP/IP体系结构则不同,得到了广泛的应用.最终结合OSI和TCP/IP的优点,采用了一种只有五 ...

  5. 精选(26)面试官:讲讲你对ThreadLocal的理解

    前言 在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 有些面试官会开门见山的提问: "知道ThreadLocal吗? ...

  6. 【09-JVM面试专题-实例化过程详细讲讲?对象的基本结构你知道吗?TLAB堆上内存分配是怎么样的?你了解这个TLAB吗?】

    实例化过程详细讲讲?对象的基本结构你知道吗?TLAB堆上内存分配是怎么样的?你了解这个TLAB吗? 实例化过程详细讲讲?对象的基本结构你知道吗?TLAB堆上内存分配是怎么样的?你了解这个TLAB吗?你 ...

  7. 面试官:请你从架构演进的角度讲讲redis、kafka和 pulsar消息队列

    导语 | 市面上有非常多的消息中间件,rabbitMQ.kafka.rocketMQ.pulsar. redis等等,多得令人眼花缭乱.它们到底有什么异同,你应该选哪个?本文尝试通过技术演进的方式,以 ...

  8. 面试官:请你讲讲Saas 应用的架构规范?

    点击上方蓝字,关注我们 引言 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS).12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用标准化流程自动配 ...

  9. 面试官:讲讲什么是 JMM

    讲讲什么是 JMM 什么是 JMM? JMM 抽象:主内存与工作内存 为什么需要 JMM,它试图解决什么问题? 八种内存交互操作 JMM 三大特征 原子性 可见性 有序性 volatile 关键字 可 ...

最新文章

  1. 被鱼刺扎一下就没了条手臂?这种“吃人肉”的细菌身边并不罕见
  2. idea社区版和企业版区别_IntelliJ IDEA 旗舰版与社区版有什么不同
  3. 查看mysql是否内存中读取数据_MySQL中的内存临时表
  4. matalotlib(2)
  5. oracle不同环境数据迁移,生产环境下,oracle不同用户间的数据迁移。第一部分
  6. android 自定义窗口,Android studio如何自定义设置窗口布局?
  7. 为什么TCP连接不可靠
  8. MATLAB函数取整
  9. matlab/simulink 永磁直驱海上风电场仿真模型 含集群电流源等效 海上风电场线路结构
  10. 各种无线传输协议汇总(一)- Bluetooth
  11. 5APMP项目管理:PMP考试备考经验学习方法和模拟考题(1-经验篇)
  12. 数学专业偏向算法智力题的面试题
  13. 掠食细菌—蛭弧菌B. bacteriovorus,可以对抗革兰氏阴性感染?
  14. arthes—线上debug好帮手
  15. centos7 oracle11g创建表空间和用户
  16. 验证码_python
  17. 2021年展望Android原生开发的现状,你不懂还不学?
  18. python tkinter 点击按钮选择文件,返回文件路径
  19. 客户端连接linux的MySQL数据库出现被自己拒绝的错误
  20. 精修图片不求人,百度经验

热门文章

  1. 机器人技术(3)机器人操作系统ROS简单教程
  2. STM32软件模拟IIC---读写驱动AT24Cxx
  3. dorehtml.php,脚本命令 window.open 的所有参数详解及实例 涉及页面执行后跳转和多久跳转...
  4. ❀工信工实验参考——《模电课设人体感应LED灯》
  5. Chrome渲染分析之Rendering工具使用
  6. 推荐一款很好用的调试JS的Eclipse插件
  7. 加工生产调度(流水作业调度问题)——Johnson算法应用
  8. 产品经理和项目经理区别与联系
  9. Volumes 数据卷管理
  10. 娱乐至死?不,我偏要活着