栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java内存模型:易变变量和发生之前

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java内存模型:易变变量和发生之前

  • i = 1
    总是在 发生之前
    v = 2

真正。根据JLS第17.4.5条,

如果 xy 是同一线程的动作,并且 x 按程序顺序位于 y 之前,则 hb(x,y)


  • v = 2
    __
    vDst = v
    仅在JMM中实际发生时才 发生- 在JMM中
  • i = 1
    __ 如果实际上发生在时间之前,则发生
    iDst = i
    在JMM中-before -before (并且
    iDst
    将可预测地分配
    1
    v = 2``vDst = v

假。先发生先后顺序不能保证事物在物理时间内先发生。在JLS的同一部分,

应该注意的是,两个动作之间存在先发生关系并不一定意味着在实现中它们必须按照该顺序进行。如果重新排序产生的结果与合法执行相符,则不合法。

它,然而,保证

v = 2
之前发生
vDst = v
i = 1
之前发生
iDst = i
,如果
v = 2
之前谈到
vDst= v
的同步顺序,在执行,往往是误认为是实时订单的同步动作的总订单。


  • 否则,
    i = 1
    和之间的顺序
    iDst = i
    不确定,并且的结果值
    iDst
    也不确定

这是,如果情况

vDst = v
到来之前
v = 2
在同步顺序,但实际时间不来了进去。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483341.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号