阅读更多

3顶
0踩

编程语言
JSR-133规范,即Java内存模型与线程规范,由JSR-133专家组开发。该规范的中文版由并发编程网的丁一(个人博客)翻译和校对。

下载地址:JSR133中文版(PDF)

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站点上都有存档。该站点提供了额外的信息,可以帮助理解本规范形成的过程。

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

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

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

本文转载自并发编程网:原文链接译文链接 / 翻译:丁一
来自: 并发编程网
3
0
评论 共 5 条 请登录后发表评论
5 楼 yushl 2014-03-30 23:09
高大上啊,学习,膜拜!
4 楼 wzucxd 2014-03-30 23:07
翻译不错,很清晰,学习了。
3 楼 sswh 2014-03-26 08:29
  
2 楼 Misaya 2014-03-25 17:40
,好难懂
1 楼 white_crucifix 2014-03-25 14:15
妈蛋,看了一个小时,没看懂。。。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • PE文件格式详解(附有原文和源代码,逆向工程的基础教程)

    此文的英文原文为The Portable Executable File Format from Top to Bottom,我找到了两篇不同出处的译文,题名分别为《PE文件格式详解》和《可移植的可执行文件格式全接触》。并且搜集到了文章中所提到的两个附件PEF2034B.ZIP和PEF2034C.ZIP。压缩为ZIP上传共享并作为备份。

  • 标题:**MemoryModule:灵活的内存PE加载器,让模块载入更自由**

    标题:MemoryModule:灵活的内存PE加载器,让模块载入更自由 MemoryModuleA tool to parse and load module in memory, as well as attach a DLL in EXE. Most of the functions are inline, so that it can also be used in shellcode....

  • PE文件格式详解(3)

    PE可选头部  PE可执行文件中接下来的224个字节组成了PE可选头部。虽然它的名字是“可选头部”,但是请确信:这个头部并非“可选”,而是“必需”的。OPTHDROFFSET宏可以获得指向可选头部的指针:PEFILE.H#define OPTHDROFFSET(a) ((LPVOID)((BYTE *)a + /                        ((PIMAGE_DOS_HEAD

  • 如何实现一个(PE 文件)内存加载器(来自ChatGPT)

    实现一个内存加载器(通常指的是一个PE Loader,用于在内存中加载和执行Windows可执行文件)是一项复杂的工作,它涉及对PE文件格式的深入了解以及对Windows操作系统内部工作机制的理解。下面是一个简化版本的概述,用于描述在Windows平台上实现一个内存加载器的一般步骤。

  • PE文件格式(一)

    PE文件是Windows操作系统下使用的可执行文件文件格式。PE文件是指32位的可执行文件,也叫PE32。64位的可执行文件称为PE+或者PE32+,是PE文件的一种扩展形式(不是PE64)。对应的结构体名字:IMAGE_OPTIONAL_HEADER32 STRUCT由于可选头字段数目多达32个,这里没有对全部字段的定义进行列举,只列举了几个相对重要的一些字段(12个)。所有含代码的节的总大小所有含已初始化数据的节的总大小所有含未初始化数据的节的大小程序执行入口RVA。

  • PE文件解析-全局指针表与线程局部存储(TLS)

    一、全局指针表     PE文件头可选映像头中数据目录表的第9成员IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_DIRECTORY_ENTRY_GLOBALPTR]指向全局指针。     在x86与x64系列平台没有使用全局指针表,目前只应用于MIPS等平台上,多用于参数传递。 二、线程局部存储(TLS) 1.位置与简介     PE文件头可选映像头中...

  • PE文件结构详解 --(完整版)

    From:https://blog.csdn.net/adam001521/article/details/84658708 PE结构详解:https://www.cnblogs.com/zheh/p/4008268.html PE格式解析-区段表及导入表结构详解:https://blog.csdn.net/qq_30145355/article/d...

  • pe格式从入门到图形化显示(三)-可选头

    通过分析和解析Windows PE格式,并使用qt进行图形化显示PE文件格式的可选头(Optional Header)是一个结构体,它包含了关于PE文件的额外信息,如文件的属性、内存布局、加载参数等。可选头的结构体有两个版本:IMAGE_OPTIONAL_HEADER32和IMAGE_OPTIONAL_HEADER64。它们的主要区别在于64位版本支持64位地址空间,而32位版本仅支持32位地址空间。

  • PE文件格式概述

    本章提要·           PE文件格式概述·           PE文件结构·           如何获取PE文件中的OEP·           如何获取PE文件中的资源·           如何修改PE文件使其显示MessageBox的实例2.1  引言通常Windows下的EXE文件都采用PE格式。PE是英文Portable Executable的缩写

  • PE文件格式详解

    三千风雨三千雪 三千风雪我在写 流了一共三千血 你却始终不了解 简介 PE文件使用的是一个平面地址空间,所有的代码和数据都合并在一起,组成了一个很大的结构; 文件被分为不同的区块(Section,又成为区段或节等),区块中包含代码和数据,各个区块按页边界对齐; 区块没有大小限制,是一个连续结构;每一个块都有其自己的属性,如是否包含代码,是否可读可写等; PE文件的构成 MS-DOS头部 每个...

  • PE文件格式

    这是一个。

  • 最详细PE文件格式讲解(完结篇)

    / 未使用,总为0// 文件创建时间戳// 未使用,总为0// 未使用,总为0DWORD Name;// **重要 指向一个代表此 DLL名字的 ASCII字符串的 RVADWORD Base;// **重要 函数的起始序号// **重要 导出函数地址表的个数// **重要 以函数名字导出的函数个数// **重要 导出函数地址表RVA// **重要 导出函数名称表RVA// **重要 导出函数序号表RVA输出表(ExportTable)

  • 编写PE文件解析器(三)

    下面有几个表网上资料比较少,因为几乎用不到,我查文档写写吧,这篇写得比较久很抱歉。 7、IMAGE_DIRECTORY_ENTRY_EXCEPTION【异常处理表】 CPU特定的并且基于表的异常处理。用于除x86之外的其它CPU上。偏移到一个IMAGE_XXX_RUNTIME_FUNCTION_ENTRY数组,根据文件头的Machine来确定结构,64位用IMAGE_IA64_RUNT

  • 滴水三期:day28.1-PE头字段说明

    一、PE头字段>二、DOS头>三、PE标记>四、标准PE头>五、可选PE头>六、可执行文件的读取到装入内存过程

  • C语言——PE文件解析(完整版)

    此次PE文件解析的内容:PE头、节表、导入表、导出表、重定位表 语言:C语言 编译器:VS2013 运行环境:win10 注:由于时间(懒)关系,备注的比较少,看不懂的地方,欢迎留言一起交流,也欢迎指正不当之处 #include <stdio.h> #include <windows.h> IMAGE_DOS_HEADER DosHeader; PIMAGE_...

  • PE文件结构功能和具体代码参数分析

    PE文件结构: 介绍: PE格式是windows下最常用的可执行文件格式,有些应用必须建立在了解PE文件的基础上,如可执行文件的加解密、文件型病毒的查杀等。 分析PE文件,必须要了解文件是如何从磁盘被装载到内存中去的。因此,让我们先熟悉一下PE文件的基本结构。 DOS_HEADER 介绍: 该结构体大小为40h字节,e_magic标识了头部,e_lfanew指明PE文件头在文件中的位置,这个...

  • lordPE转自http://blog.sina.com.cn/s/blog_6e8f83bc01014115.html

    EntryPoint: 入口点,程序在执行时的第一行代码的地址应该就是这个值   ImageBase: 基地址,文件执行时将被映射到指定内存地址中,这个初始内存地址称为基址。基地址的值由PE文件本身设定的,按默认设置,Visual C++建立的exe文件基地址是00400000h,DLL文件的基地址是1000000h,但是在创建应用程序的exe文件的时候可以改变这个地址。方法是在链接应

  • PE结构详解

    1 基本概念 下表描述了贯穿于本文中的一些概念: 名称 描述 地址 是“虚拟地址”而不是“物理地址”。为什么不是“物理地址”呢?因为数据在内存的位置经常在变,这样可以节省内存开支、避开错误的内存位置等的优势。同时用户并不需要知道具体的“真实地址”,因为系统自己会为程序准备好内存空间的(只要内存足够大) 镜像文件 包含以EXE文件为代表的“可执行文件”、以D

  • PE文件解析-文件头与整体介绍

    一、PE的基本概念     PE(Portable Execute)文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任何扩展名。     认识PE文件不是作为单一内存映射文件被装入内存是很重要的。Windows加载器(又称PE加载器)遍历PE文件并决定文件的哪一部分被映射,这种映射方式是将文件较高的偏移...

Global site tag (gtag.js) - Google Analytics