首页 > 其他分享 >JUC学习23:理解JMM

JUC学习23:理解JMM

时间:2022-08-30 13:23:21浏览次数:52  
标签:JUC 23 num 线程 内存 JMM

JUC学习23:理解JMM

  • 面试题:请你谈谈你对Volatile的理解:

  • Volatile是Java虚拟机提供轻量级的同步机制;

  • 1,保证可见性(JMM);

  • 2,不保证原子性;

  • 3,禁止指令重排;

 

  • 什么是JMM:

    • JMM:Java内存模型,不存在的东西,概念,是一种约定;

       

  • 关于JMM的一些同步约定:

    • 线程解锁前:必须把共享变量立刻刷回主存;

    • 线程加锁前:必须读取主存中的最新值读到工作内存中!

    • 加锁和解锁,必须是同一把锁;

 

  • 线程:工作内存,主内存:

    • 1,JMM内存模型:

       

    • 2,8种操作:

       

      发现问题:

       

       

 

  • 测试代码:问题重现:线程1无法停止

    //程序不知道主内存中的值已经被修改过了
    public class Demo01 {

       private static int num=0;

       public static void main(String[] args) throws InterruptedException { //主线程

           new Thread(()->{//线程1
               while (num==0){

              }
          }).start();

           TimeUnit.SECONDS.sleep(1);

           num=1;

           System.out.println(num);

      }
    }

     

 

 

 

 

 

标签:JUC,23,num,线程,内存,JMM
From: https://www.cnblogs.com/gzs1024/p/16638934.html

相关文章

  • NC235267 星球大战
    题目原题地址:星球大战题目编号:NC235267题目类型:map、list时间限制:C/C++2秒,其他语言4秒空间限制:C/C++262144K,其他语言524288K1.题目大意二维平面上n个坐标对应......
  • 11-12-13-14-15-16-17-18-19-20-21-22-23-24-25不知道在干啥,忘了
    时间过的好快啊,已经过去了2个星期了!!!! 而我不知道都干了什么,距离玩游戏已经过去了俩星期了,不可思议,我觉得才完了三五天而已人脑子会欺骗自己的啊我想换个键盘,换个按键轻......
  • 我的收藏周刊023
    文章分享关于ciscoQFP的一些往事,QFP这个芯片还是从zartbot大神了解到的,链接在这里,还有这里。站点分享code.woboq.orglinux代码在线阅读网站,除了支持函数/变量/宏......
  • 0023-Rust-自实现迭代器
    环境Time2022-05-19Rust1.60.0前言说明参考:https://doc.rust-lang.org/std/iter/index.html目标针对自定义类型,实现一个迭代器。自定义类型#[derive(Default,......
  • NSK DD马达 直驱电机 RS232通信连接
    NSKDD马达通信连接通信测试平台驱动器:NSKEDC系列电机:NSKPS1006KN系列电机线:UVW对应红白黑。电源线:Main和Ctrl电路220V交流电供电即可。测试软件:win10+EDCMeg......
  • 代码笔记23 颜色块记录
    仅作记录一共六十种颜色的RGBlabel_colours=[(148,65,137),(255,116,69),(86,156,137),(202,179,158),(155,99,235),(161,107,108)......
  • Flask 学习-23.restful 接口开发
    前言Flask-RESTful是一个Flask扩展,它添加了快速构建RESTAPIs的支持。它当然也是一个能够跟你现有的ORM/库协同工作的轻量级的扩展。Flask-RESTful鼓励以最小设置......
  • 23.孤勇者
    都是勇敢的你额头的伤口你的不同你犯的错都不必隐藏你破旧的玩偶你的面具你的自我他们说要带着光驯服每一头怪兽他们说要缝好你的伤没有人爱小丑为何孤......
  • 2022-08-23 day33 第一小组 王鸣赫
    目录CSS三大特性1、层叠性2、继承性3、优先级常用单位字体背景列表属性盒子模型display的inline、block、inline-block的区别文档流定位定位的left和top、right和bottom和m......
  • 231. 2 的幂
     labuladong题解思路难度简单532收藏分享切换为英文接收动态反馈给你一个整数 n,请你判断该整数是否是2的幂次方。如果是,返回 true ;否则,返回 false 。如......