Java 内存模型与线程规范——JSR133中文版

新浪微博 QQ空间 腾讯微博

原文链接 译文链接   翻译:丁一   下载:JSR133中文版

本文是JSR-133规范,即Java内存模型与线程规范,由JSR-133专家组开发。本规范是JSR-176(定义了Java平台 Tiger(5.0)发布版的主要特性)的一部分。本规范的标准内容将合并到Java语言规范Java虚拟机规范以及Java.lang包的类说明中。本JSR-133规范将不再通过JCP维护和修改。未来所有对这些标准化内容的更新、修正以及说明都会出现在上述这些文档中。

本规范的标准化内容包含在第5, 7, 9.2, 9.3, 11, 12, 14, 15以及16节。其它章节,以及上述提到的章节的部分内容,属非标准化内容,用于解释和说明标准化内容。如果标准化内容和非标准化内容有冲突,以标准化内容为准。

本规范的讨论与开发异常复杂且专业性强,需要对一些学术论题有深刻的见解并了解它们的发展过程。这些讨论在JMM web站点上都有存档。该站点提供了额外的信息,可以帮助理解本规范形成的过程。

站点是:http://www.cs.umd.edu/~pugh/java/memoryModel

上述web站点以及邮件列表将持续更新和维护,非标准化内容,有助于人们理解JSR-133规范,未来若有更新和扩展,将可以从该站点上找到。

在对JLS原始规范的改变中,有两处最有可能要求JVM实现也做出相应的变动:

  • 加强了volatile变量的语义,需要有acquire和release语义。在原始的规范中,volatile变量的访问和非volatile变量的访问之间可以自由地重排序。
  • 加强了final字段的语义,无需显式地同步,不可变对象也是线程安全的。这可能需要在给final字段赋值的那些构造器的末尾加上store-store屏障。

新浪微博 QQ空间 腾讯微博

| 1 分2 分3 分4 分5 分 (4.17- 6票)
Loading ... Loading ... | 这篇文章归档在:Java, 语言基础
| 标签: , , . | 永久链接:链接 | 评论(0) |

评论

邮箱地址不会被泄露, 标记为 * 的项目必填。

8 - 2 = *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <img alt="" src="" class=""> <pre class=""> <q cite=""> <s> <strike> <strong>






返回顶部