JMM(java内存模型)了解

2021/11/18 7:13:25

本文主要是介绍JMM(java内存模型)了解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  1. 重排序:jvm虚拟机允许在不影响代码最终结果的情况下,可以乱序执行。
  2. 内存屏障:可以阻挡编译器的优化,也可以阻挡处理器的优化
  3. happens-before原则:
    1:一个线程的A操作总是在B之前,那多线程的A操作肯定实在B之前。
    2:monitor 再加锁的情况下,持有锁的肯定先执行。
    3:volatile修饰的情况下,写先于读发生
    4:线程启动在一起之前 strat
    5:线程死亡在一切之后 end
    6:线程操作在一切线程中断之前
    7:一个对象构造函数的结束都该对象的finalizer的开始之前
    8:传递性,如果A肯定在B之前,B肯定在C之前,那A肯定是在C之前。
  4. 主内存:所有线程共享的内存空间
  5. 工作内存:每个线程特有的内存空间


这篇关于JMM(java内存模型)了解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程