阅读更多

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
妈蛋,看了一个小时,没看懂。。。

发表评论

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

相关推荐

  • pefile:pefile是一个Python模块,用于读取和使用PE(便携式可执行文件)文件

    pefile 掌握 开发 pefile是一个多平台Python模块,用于解析和使用。 PE文件头中包含的大多数信息以及所有部分的详细信息和数据都是可访问的。 Windows头文件中定义的结构将作为PE实例中的属性进行访问。 字段/属性的命名将尝试遵循那些标头中的命名方案。 只有为方便起见而添加的快捷方式才会脱离该约定。 pefile需要对PE文件的布局有一些基本的了解-借助它,可以探索PE文件格式的几乎每个功能。 特征 pefile使某些任务成为可能: 检查头 分析部分数据 检索嵌入式数据 可疑和格式错误的警告 PE的基本屠宰,例如PE的和 此功能不会重新排列PE文件结构,以便为新字段腾出空间,因此请谨慎使用。 覆盖字段大部分应该是安全的。 带有打包程序检测 生成 请参阅以获取一些演示如何使用pefile的代码段。 以下是使用pefile生成的转储针对不同类型的文件的外观的

  • 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平台上实现一个内存加载器的一般步骤。

  • 标题:**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....

  • 探索PEFile:Windows可执行文件的强大解析库

    探索PEFile:Windows可执行文件的强大解析库 项目地址:https://gitcode.com/gh_mirrors/pe/pefile 项目简介 在软件安全和逆向工程领域,理解并分析PE(Portable Executable)格式的二进制文件是至关重要的。 是一个由Ero Carrera开发的Python库,专为处理和分析Windows下的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文件格式详解

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

  • PE文件格式概述

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

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

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

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

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

  • PE文件格式分析

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

  • pefile 项目使用教程

    pefile 项目使用教程 pefilepefile is a Python module to read and work with PE (Portable Executable) files项目地址:https://gitcode.com/gh_mirrors/pe/pefile 项目介绍 pefile 是一个多平台的 Python 模块,用于解析和处理可移植可执行(PE)文件。PE 文件...

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

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

  • 手动加载PE文件

    今天手撸一下加载PE文件,并执行加载的PE文件。看完这一节之后相信大家会对PE文件的结构和在内存中的加载顺序有一个比较深刻的理解。本文中可能对PE文件的基础知识介绍的不是很详细,建议大家先看看PE文件的基础结构,了解了这些基础知识后再看本文会简单许多。废话不多说,下边让我们进入正是环节吧~

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

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

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

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

  • PE结构详解

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

  • PE文件结构详解(三)PE导出表

    转自:http://blog.csdn.net/evileagle/article/details/12176797 上篇文章 PE文件结构详解(二)可执行文件头 的结尾出现了一个大数组,这个数组中的每一项都是一个特定的结构,通过函数获取数组中的项可以用RtlImageDirectoryEntryToData函数,DataDirectory中的每一项都可以用这个函数获取,函数原型如下:

  • PE文件之PE映像尺寸详解

    pe映像就是pe文件加载到内存中的总尺寸,大部分情况下(也可以认为始终就是这样,因为没有资料说必须是这样,但经过试验发现总是为一固定值。为了此文的严谨性,此处用了“大部分情况下”)这个尺寸是以4096字节对其的,这取决于windows的内存机制,内存页的大小总是4096字节。这种情况在磁盘文件中也有所表现,我们可以在磁盘中新建一个txt文件,在里面写入一个字符“a” 并保存。这时我们查看一下此文件

Global site tag (gtag.js) - Google Analytics