首页 > 编程语言 > 详细

JVM---Java存储模型

时间:2019-12-11 19:58:42      阅读:66      评论:0      收藏:0      [点我收藏+]

1、概述

    1.1、Java语言规范  规定了  JVM要维护  内部线程类似顺序化语意(只要程序的最终结果  等同于  它在严格的顺序化环境中执行的结果);

    

2、平台的存储模型

    2.1现代的处理器、编译器 为了从你的程序中榨取性能,会用尽手段

    2.2、在  可共享内存的多处理器 体系架构中,每个处理器都有自己的缓存,并且周期性地   与主内存协调一致

    2.3、处理器 牺牲 存储一致性的保证来换取性能的提升;

        同时定义了一些特殊的指令(存储关卡、栅栏),用以在需要共享数据时,得到额外的存储协调保证;

    2.4、为了帮助Java开发者   屏蔽这些跨架构的存储模型之间的不同Java提供了自己的内存模型

        JVM会在适当的位置   插入 存储管卡,来   解决JMM与底层平台存储模型之间的差异化

3、重排序

    3.1、各种能够引起操作延迟或者错误执行的不同原因,统称为:重排序

4、Java存储模型的简介

    4.1、Java存储模型的定义  通过   动作的形式   进行描述;

          动作变量的读写监视器加锁和释放锁线程的启动和拼接

    4.2、JMM  为所有的程序内部的动作   定义了一个偏序关系(happens-before);

          当一个变量 被多个线程读取,至少被一个线程写入时,如果  读写操作  未按照happens-before排序,就会发生  数据竞争

          一个正确同步的程序  是  没有数据竞争的  程序

JVM---Java存储模型

原文:https://www.cnblogs.com/anpeiyong/p/12024729.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!