java 内存模型与线程规范.pdf

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java 内存模型与线程规范

JSR-133:JavaTM 内存模型与线程规范 翻译:ticmy 1 介绍 3 1.1 锁3 1.2 示例中的表示法4 2 未正确同步的程序会表现出出人意料的行为 5 3 非正式语义 7 3.1 顺序一致性(Sequential Consistency )9 3.2 final 字段10 4 什么是内存模型 13 5 定义 14 6 Java 内存模型的近似模型 18 6.1 顺序一致的内存模型18 6.2 Happens-Before 内存模型19 6.3 因果关系20 7 Java 内存模型的正式规范 24 7.1 动作与执行过程(Actions and Executions )24 7.2 定义26 7.3 良构的(Well-Formed )执行过程27 7.4 执行过程的因果(Causality )要求28 7.5 可观察的行为与不会终止的执行过程30 8 经典测试用例与行为 33 8.1 内存模型允许的怪异行为34 8.2 内存模型禁止的行为37 9 final 字段的语义 39 9.1 final 字段语义的目标与要求39 9.2 final 字段的正式语义42 9.3 用于final 字段的JVM 规则45 10 典型测试用例与final 字段的行为 46 11 字分裂(Word Tearing) 51 12 double 和long 的非原子性处理 52 13 公平性 52 14 wait 集与通知(Notification ) 54 14.1 等待(Wait )54 14.2 通知(Notification )57 14.3 中断(Interruptions )57 14.4 等待(Waits ),通知( Notification )以及中断(Interruption )间的相互影响58 15 Sleep 与 Yield 59 16 终结操作(Finalization ) 60 16.1 终结操作的实现61 16.2 与内存模型的交互64 1 / 66 本文是JSR-133 规范,即JavaTM 内存模型与线程规范,由JSR-133 专家组开发。 本规范是JSR-176 (定义了JavaTM 平台 Tiger (5.0 )发布版的主要特性)的一部 分。本规范的标准内容将合并到Java TM 语言规范、Java TM 虚拟机规范以及java.lang 包的类说明中。本JSR-133 规范将不再通过JCP 维护和修改。未来所有对这些标准 化内容的更新、修正以及说明都会出现在上述这些文档中。 本规范的标准化内容包含在第5, 7, 9.2, 9.3, 11, 12, 14, 15 以及16 节。其它章节,以 及上述提到的章节的部分内容,属非标准化内容,用于解释和说明标准化内容。如 果标准化内容和非标准化内容有冲突,以标准化内容为准。 本规范的讨论与开发异常复杂且专业性强,需要对一些学术论题有深刻的见解并了 解它们的发展过程。这些讨论在JMM web 站点上都有存档。该站点提供了额外的 信息,可以帮助理解本规范形成的过程;站点是: /~pugh/java/memoryModel 上述web 站点以及邮件列表将持续更新和维护,非标准化内容,有助于人们理解 JSR-133 规范,未来若有更新和扩展,将可以从该站点上找到。 在对JLS 原始规范的改变中,有两处最有可能要求JVM 实

文档评论(0)

牛X文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档