`
fantasy
  • 浏览: 516739 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[并发译文]Java内存模型手册

阅读更多

原文地址:http://gee.cs.oswego.edu/dl/jmm/cookbook.html

 

作者:Doug Lea。由 JMM邮件组的成员提供帮助. dl@cs.oswego.edu.

 

译者:潘曦,丁一,古圣昌,欧振聪,方腾飞  校对:欧振聪,方腾飞

 

前言:从最初的探索至今已经有十年了。在此期间,很多关于处理器和语言的内存模型的规范和问题变得更清楚,更容易理解,但还有一些没有研究清楚。本指南一直在修订、完善来保证它的准确性,然而本指南部分内容展开的细节还不是很完整。想更全面的了解, 可以特别关注下 Peter Sewell和 Cambridge Relaxed Memory Concurrency Group的研究工作。

 

这是一篇用于说明在JSR-133中制定的新Java内存模型(JMM)的非官方指南。这篇指南提供了在最简单的背景下各种规则存在的原因,而不是这些规则在指令重排、多核处理器屏障指令和原子操作等方面对编译器和JVM所造成的影响。它还包括了一系列遵循JSR-133的食谱(Recipes)。本指南是“非官方”的文档,因为它还包括特定处理器性能和规范的解释,我们不能保证所有的解释都是正确的,此外,处理器的规范和实现也可能会随时改变。

 

  1. 指令重排 [译者:欧振聪]
  2. 内存屏障 [译者:潘曦]
  3. 多处理器 [译者:古圣昌]
  4. 指南        [译者:丁一]
分享到:
评论

相关推荐

    Java 内存模型

    Java内存模型是Java虚拟机规范中定义的一部分,它规定了Java程序中变量的读写行为,以及线程之间的交互规则。理解Java内存模型对于编写正确、高效的多线程程序至关重要。在Java 5之前,Java内存模型的描述比较模糊,...

    深入理解Java内存模型 pdf 超清版

    深入理解Java内存模型对于编写高效的并发程序至关重要。本文将详细介绍JMM的核心概念、工作原理以及相关的编程实践。 1. **核心概念** - **线程私有区域**: 包括程序计数器、虚拟机栈、本地方法栈,这些区域中的...

    深入理解Java内存模型

    Java内存模型是并发编程中一个至关重要的概念,它定义了共享变量的访问规则,以及这些变量如何在多线程环境下进行读写操作。在深入理解Java内存模型之前,我们需要先了解并发编程模型的分类,然后掌握Java内存模型的...

    cpu 内存模型和java内存模型

    Java程序员了解CPU以及相关的内存模型,对于深入理解Java内存模型以及并发编程至关重要。CPU作为计算机硬件的核心,其架构和工作原理影响着软件的性能和执行效率。尤其在Java这种多线程、高并发的编程语言中,对CPU...

    java内存模型与并发技术

    阿里巴巴专家讲座——java内存模型与并发技术。 主要内容: 学习java并发理论基础:Java Memory Model 学习java并发技术基础:理解同步是如何工作 分析程序什么时候需要同步 几个典型的并发设计策略

    Java内存模型的历史变迁

    Java内存模型(Java Memory Model,简称JMM)作为Java并发机制的核心,其设计理念直接影响到程序的性能与可靠性。本文将探讨Java内存模型从早期版本到JDK 5的重大变革,并重点介绍这一变迁背后的动机及其对Java开发...

    java内存模型文档

    Java内存模型,简称JMM(Java Memory Model),是Java编程语言规范的一部分,它定义了线程如何共享和访问内存,以及在并发编程中如何处理数据一致性的问题。理解JMM对于编写高效、线程安全的Java代码至关重要。 1. ...

    深入理解 Java 内存模型_程晓明_InfoQ_java_内存模型_

    深入理解Java内存模型可以帮助开发者避免并发编程中常见的问题,如数据竞争、死锁和活锁等。通过合理地使用同步机制,可以编写出高效且线程安全的代码,这对于大型分布式系统和高并发应用尤为重要。 总之,Java内存...

    深入理解java内存模型

    这本书"深入理解Java内存模型"显然是为了帮助读者深入探讨这个主题,以便更好地理解和解决并发编程中的问题。 Java内存模型主要涉及以下几个核心概念: 1. **主内存**:所有线程共享的数据存储区域,包括类的静态...

    java内存模型.pdf

    Java内存模型的主要目标是解决并发编程中的可见性、原子性和有序性问题。 1. JMM简介: - 内存模型概述:JMM规定了程序中各个线程如何访问和更新共享变量,包括实例域、静态域和数组元素。在多处理器或多线程环境...

    java内存模型详解--非常经典

    在并发编程中,Java内存模型提供了一些内置的同步机制,如volatile关键字、synchronized关键字以及final修饰符。这些机制确保了在多线程环境下,对共享变量的访问具有一定的可见性和有序性。 - volatile关键字:...

    深入理解 Java 内存模型

    Java 内存模型(Java Memory Model,简称 JMM)是 Java 平台中关于线程如何访问共享变量的一套规则,它定义了线程之间的内存可见性、数据一致性以及指令重排序等关键概念,对于多线程编程和并发性能优化至关重要。...

    java内存模型详解

    理解Java内存模型对于编写多线程并发程序至关重要,因为它直接影响到程序的正确性和性能。 在Java中,内存分为以下几个区域: 1. **程序计数器**:每个线程都有自己的程序计数器,用于存储当前线程执行的字节码...

    深入理解Java内存模型.程晓明(带书签文字版).pdf

    Java 内存模型的抽象 4 重排序 6 处理器重排序与内存屏障指令 7 happens-before 10 重排序 13 数据依赖性 13 as-if-serial 语义 13 程序顺序规则 15 重排序对多线程的影响 15 顺序一致性 19 数据竞争与顺序...

    Java理论与实践:修复Java内存模型1

    总的来说,Java内存模型的修复对于提高并发编程的可靠性和可预测性至关重要。通过强化volatile和final的语义,开发者可以更加自信地编写并发代码,同时避免因处理器差异和内存模型复杂性导致的潜在问题。这不仅提升...

Global site tag (gtag.js) - Google Analytics