java 内存同步_Java同步的内存影响

2023-11-09

小编典典

简而言之,就是 JSR-133的解释太过分了

。这不是一个严重的问题,因为JSR-133是非规范性文档,不属于语言或JVM标准。而是,只有文档解释了一种可能的策略,该策略 足以

实现内存模型,但通常不是 必需的

。最重要的是,有关“缓存刷新”的评论基本上完全不合时宜,因为实质上零的体系结构可以通过执行任何类型的“缓存刷新”来实现Java内存模型(许多体系甚至没有这样的指令)。

Java内存模型是根据可见性,原子性,发生关系之前的事物等形式正式定义的,它使用精确(数学上)定义的方法,确切地解释了哪些线程 必须

看到什么,在其他操作和其他关系之前 必须 执行哪些操作。模型。未正式定义的行为可能是随机的,也可能是在某些硬件和JVM实现上的实践中明确定义的行为-

但是您当然不应该依赖它,因为将来它可能会发生变化,并且您永远无法真正确定除非您编写了JVM并且对硬件语义了如指掌,否则首先要对它进行明确定义。

因此,您引用的文本不是正式描述Java保证的内容,而是描述某种具有非常弱的内存顺序和可见性保证的假设体系结构如何使用缓存刷新 来

满足Java内存模型要求。显然,关于缓存刷新,主内存等的任何实际讨论通常都不适用于Java,因为这些概念在抽象语言和内存模型规范中不存在。

在实践中,内存模型提供的保证要比完全刷新弱得多-

每次原子,并发相关或锁定操作刷新整个高速缓存都将是非常昂贵的,并且在实践中几乎从未做到过。而是使用特殊的原子CPU操作,有时与内存屏障指令结合使用,这有助于确保内存可见性和顺序。因此,通过注意到第一个为true而第二个为非,廉价的无竞争的同步与“完全刷新缓存”之间的明显不一致得到了解决-

Java内存模型不需要完全刷新(实际上没有刷新发生)。

如果正式记忆模型过于繁琐而无法消化(您不会孤单),您还可以通过阅读Doug

Lea的菜谱深入研究该主题,该菜谱实际上与JSR-133常见问题解答相关,但这是从具体的硬件角度出发的问题,因为它是针对编译器作者的。在这里,他们确切地讨论了特定操作(包括同步)所需的障碍,并且在那里讨论的障碍可以很容易地映射到实际硬件。食谱中讨论了许多实际映射。

2020-09-16

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 内存同步_Java同步的内存影响 的相关文章

  • Linux 如何解决共享库的版本控制(避免Dll Hell)

    Linux 系统 也同样面临和Window一样的问题 如何控制动态库的多个版本问题 Window之前没有处理好 为此专门有个名词来形容这个问题 Dll hell 其严重影响软件的升级和维护 Dll hell 是指windows 上动态库新版
  • k8s集群环境搭建

    环境规划 集群类型 一主多从 一台master节点和多台node节点 搭建简单 但是有单机故障风险 适合用于测试环境 多主多从 多台master节点和多台node节点 搭建麻烦 安全性高 适合用于生产环境 为了测试简单 本次搭建的是一主两从
  • Unity—UGUI控件

    补上昨天的UGUI控件 以后会持续两天一更 直至月末 结尾有彩蛋呦 每日一句 窗外有风景 手里有课本 眼里有梦想 心中有未来 目录 UGUI控件 Canvas画布 需求 UI是UI 3D是3D Rect Transform矩形变换 API
  • 面试中常见的小程序题

    function unique1 arr i从1开始遍历arr中每个元素 同时声明数组r 初始化一个元素为arr中第0个元素 for var i 1 r arr 0 i
  • 时间序列算法Prophet代码实现——以天气预测模型为例

    最近在做销售量预测模型相关的项目 重新拾起时间序列算法 包括AR 自回归模型 MA 移动平均模型 ARIMA 差分回归移动平均模型 等 综合预测效果想要特别记录时间序列中的Prophet算法 操作简单 效果显著 一 算法简介 Prophet
  • 【满分】【华为OD机试真题2023 JAVA&JS】优雅数组

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 优雅数组 知识点双指针数组滑窗 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 如果一个数组中出现次数最多的元素出现大于等于k次 被称为 k 优雅数组 k也可以被
  • python 区块链学习(一) 单链结构实现

    最近在纠结以后的研究方向 就先看了看云链 即一种云计算 区块链 物联网设备的架构模式 虽然还是雨里雾里 还是决定先把区块链的编程落实一下 python 区块链学习 二 python 区块链学习 三 0x00 系统环境 本次使用的为Pytho
  • pycharm注释快捷键

    选中需要注释的行代码 按ctrl 进行注释
  • 分红 10 亿,小游戏《羊了个羊》背后实控人拿走 3亿 !股价暴跌 38%

    关注后回复 进群 拉你进程序员交流群 一个月前 一款名为 羊了个羊 的突然爆火 让无数人沉迷不可自拔 但正如一颗流星 昙花一现的它很快消失在公众视野中 10月10日 厦门吉比特技术公司披露 其间接持有 羊了个羊 开发商北京简游科技20 的股
  • git idea 如何删除本地分支_在intellij idea 中怎么不用git 解除关联

    展开全部 file gt settings gt version control 选中这一栏 右边有个 点红色减号 就解除了 然后去项目目录下删除 git这个文件夹 你可以不删除 为了以后继续关联62616964757a686964616f
  • 使用IDEA构建jar然后转执行程序exe的爬坑

    https download csdn net download leoysq 87939492 构建jar
  • Storybook(一)

    TOC 欢迎使用Storybook 你好 这是你第一次使用 Storybook 这个工具 如果你想学习如何使用Storybook 可以仔细阅读这篇文章 了解一下Storybook的基本知识 基本用法 我们对Storybook进行了一些说明
  • 简单的个人介绍网页-主页面【附代码】

    主页面 代码1 style css nav height 41px border top 3px solid b4fffa border bottom 1px solid edeef0 background color fcfcfc lin
  • 微机原理中操作数位置总结

    立即数 立即数在CS里 CS在存储器里 但和存储器操作数有本质的区别 但是不属于存储器数的一种 本质上是立即数寻址而不是存储器寻址 寄存器数 在cup内部 AX BX CX DX属于EU部件 存储器操作数 1看他有没有段超越前缀 超越到了什
  • 在职的我竟然一次通过了注册测绘师考试(注册测绘师备考经验分享)

    先上一波成绩吧 首先说一下我是万万没想到案例能过的 本来做好二战准备的 认为案例答的不够全面 时间不够了 既然过了那我就回想下从几个方面简短的整理下经验吧 没过的话叫教训 希望帮助给后面的同学 时间准备 确切的开始时间记不清了 但应该是20
  • Unity SpriteAtlas 打包AssetBundle的一些问题总结

    1 新版sprite要打包成图集 需要手动创建SpriteAtlas资源 然后选择需要打包进图集资源的Sprite目录或资源文件 参考 https docs unity3d com Manual class SpriteAtlas html
  • 从入门到入土:[SEED-Lab]- Packet Sniffing and Spoofing Lab

    此博客仅用于记录个人学习进度 学识浅薄 若有错误观点欢迎评论区指出 欢迎各位前来交流 部分材料来源网络 若有侵权 立即删除 本人博客所有文章纯属学习之用 不涉及商业利益 不合适引用 自当删除 若被用于非法行为 与我本人无关 SEED Lab
  • UE4 后处理材质 镜头光晕(Lensflare)效果

    介绍 基于PostProcessMaterial实现镜头光晕 Lensflare 的效果 不使用UE自带的Lensflare 在ShaderToy上发现一个好看的 ShaderToy地址 ShaderToyLensflareSample 将
  • Java面向对象编程

    上网的时候 访问某个网页却突然出现了某个运营商的网页 如联通 电信 出现此问题可能的原因是 A DNS劫持 B DDoS攻击 C MAC地址欺骗 D 伪造DHCP服务器 答案 A TCP建立连接的三次握手中 第二次握手发送的包会包含的标记

随机推荐

  • Vue3 使用 jsx

    使用 jsx 格式文件 和 defineComponent 引用自定义组件 传递属性 基本使用 child jsx 组件的配置 demo jsx setup 函数 父组件引用 import demo from components demo
  • 课堂实验-【集成学习】

    实验名称 实验 集成学习 实验目的 1 了解决策树 随机森林理论基础 2 平台实现算法 3 编程实现决策树 随机森林算法 实验原理 决策树 Decision Tree 是在已知各种情况发生概率的基础上 通过构成决策树来求取净现值的期望值大于
  • 【pandas】TypeError: concat() got multiple values for argument 'axis'

    TypeError concat got multiple values for argument axis 原代码 var LotArea data pd concat df train SalePrice df train var ax
  • Hive--添加/更改表字段类型

    Hive添加表字段 新增字段表 alter table 表名 add columns 字段名 数据类型 alter table table name add columns c time string comment 当前时间 正确 添加在
  • Mock.js配合vuex进行登录获取token

    新项目 后端数据还没准备好 没办法直接从后端获取接口数据 于是我利用Mock简单实现一下这个功能 以作为测试用 首先 利用 cnpm install mockjs save dev 指令安装完mock后 在项目里创建文件夹mock 再创建i
  • 安装python软件找不到setuptools的解决方案

    from http blog csdn net newjueqi article details 47446965 在新装的centos系统中 用源码安装supervisor提示如下 plain view plain copy root 1
  • jeecgboot使用例子

    文章目录 java代码示例 方法请求例子 switch case 语句 判断包含多个实体的List中 是实体之间的userid重复 java8如何用Stream查List对象某属性是否有重复 JAVA判断字符串是否为null 是否为空 my
  • 恭喜广工荣获2023CUBAL冠军

    恭喜广工 作者 良知犹存 转载授权以及围观 欢迎添加微信公众号 羽林君 1 竞技比赛就有这样的刺激 也许到最后一刻才能决出胜负 一个赛季努力在最后几秒进行抉择 让人热血沸腾 尤其是人们也喜欢弱者的逆袭 再一次面对清华 一支来自由全国顶级篮球
  • Vue 对象数组修改数组中的对象的某个元素,元素更新了视图不更新的问题解决

    问题描述 当我修改数组对象中的某个元素的时候 元素更新了 但是视图没有更新 例如下数组对象 attendanceTime workDays 周一 shiftId 1 shiftTime workDays 周二 shiftId 2 shift
  • 使用uni-app开发叮咚买菜的一些笔记

    本项目纯开源免费 商品信息均来自网络 如有侵权 请联系作者 我会及时删除 前一段 看到一个大佬写的叮咚买菜 挺好 于是乎自己在家也琢磨了一下 自己搞了一版本 记录一些uni app的开发事项 纯属个人总结 不对之处 还请指教 功能不是很全面
  • 硬件工程师-MOS管

    目录 DS等效电阻 Rdson MOS管 GS电容 MOS管的损耗 MOS管体二极管 讨论MOSFET的GS电容问题 MOSFET的GS电容对管子开通特性的影响 MOS管GS下拉电阻 MOS管的等效模型 MOSFET是如何进行导通的 Rds
  • OpenCV-Python 图像平滑处理1:卷积函数filter2D详解及用于均值滤波的案例

    一 图像平滑处理简介 图像平滑处理属于图像空间滤波的一种 用于模糊处理和降低噪声 模糊处理经常用于图像预处理任务中 例如在 大 目标提取之前去除图像中的一些琐碎细节 以及桥接直线或曲线的缝隙 模糊处理后的图像 可以通过阈值处理 形态处理等方
  • 线性稳压芯片LR78L05U参数

    属性 参数值 商品目录 线性稳压芯片 输出电流 100mA 稳压器数 1 输出类型 Fixed 压降 最大值 1 7V 40mA 工作温度 55 125 工作电源电流 最大值 6 1mA 输入电压 最大值 30V 输出配置 Positive
  • Unity 在编辑模式下退出游戏

    实现在编辑器环境下退出编辑器 在非编译器环境下退出游戏 我们需要判断当前是否在编辑器环境中 在unity中是使用预处理的方式判断当前的环境 常用的预处理标识符如下 标识符 解释 UNITY EDITOR 只在编辑器中编译 UNITY AND
  • el-popover 通过js手动控制弹出框显示、隐藏

    el popover 通过js手动控制弹出框显示 隐藏 说明 element ui 2 x中 el popover的显示隐藏有4种触发方式 click focus hover manual 分别是点击 聚焦 悬浮 手动 正常情况这几个触发方
  • 总结/笔记-逻辑函数封装

    逻辑函数拆分业务 将同一组件中独立的业务代码通过函数做封装处理 提高代码的可维护性 步骤 1 命名函数 use业务名 js 2 用函数封装业务逻辑 3 函数内 return 数据 方法 4 组件中 调用函数使用 封装业务逻辑函数 compo
  • java文件名命名的规则,Java文件名及其他命名规则

    http bbs csdn net topics 70157841 关于JAVA源文件命名的问题 Java文件命名 java程序是由类组成的 java应用程序必须有一个包含main方法的public类 main方法是程序的入口 java源文
  • UncaughtExceptionHandler加Process 让应用程序不异常崩溃退出

    我们在开发应用程序时难免会遇到出现没有被try catch抓住的RunTimeException信息 从而导致程序异常崩溃退出 大大的影响了用户体验 那么有没有什么方法能避免这一现象呢 网上一查资料 果然有 UncaughtExceptio
  • 延迟渲染到最终结果---大象无形(11.3.1)--2,PrePass预处理阶段--<2>大致工作流程

    正如上文所言 对静态物体和动态物体分别处理 一 静态物体 1 设置渲染状态 只计算像素深度 不计算颜色 具体内容是 关闭颜色写入 打开深度测试与深度写入 2 渲染三个绘制列表 1 只绘制深度的列表PositionOnlyDepthDrawL
  • java 内存同步_Java同步的内存影响

    小编典典 简而言之 就是 JSR 133的解释太过分了 这不是一个严重的问题 因为JSR 133是非规范性文档 不属于语言或JVM标准 而是 只有文档解释了一种可能的策略 该策略 足以 实现内存模型 但通常不是 必需的 最重要的是 有关 缓