`
zhouchaofei2010
  • 浏览: 1104129 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java并发编程实战-第16章-java内存模型(JMM)

 
阅读更多

java并发编程实战-第16章-java内存模型(JMM)

16 java内存模型(JMM)

 

对理解高并发很有用

 

参考:

《深入理解的java虚拟机》第5部分 高效并发

jsr133中文版 : http://ifeve.com/jsr133-cn/

 

理解以下概念:

 

主内存和工作内存:对比计算机系统的内存和cpu的高速缓存

 

内存之间的相互工作:lock unlock  (read  load)  use assign (store write)

 

 

1、重排序:单个线程是不会发生重排序的,发生在多个线程之间的交互

 

2、内存删栏:

   http://ifeve.com/memory-barriers-or-fences/

   http://ifeve.com/jmm-cookbook-mb/

   

   

 

3、happy-before 语义  

 

 

4、volatile的可见性:读之前刷新,写完立刻同步到内存 

 

    final的可见性:因为是不可变的,所以可以多个线程安全访问

    

    

    

锁的优化:

 

自旋锁、锁消除、锁粗化、轻量级锁、锁偏向等

轻量级锁参考:http://zhouchaofei2010.iteye.com/admin/blogs/2242760

 

 

 

 

 

 

分享到:
评论

相关推荐

    《java 并发编程实战高清PDF版》

    Java内存模型(JMM)是理解并发编程中数据一致性问题的基础。JMM定义了线程如何访问和共享内存,确保在并发环境下正确地执行。书中详细阐述了可见性、原子性和有序性这些概念,并通过`volatile`关键字和`final`修饰...

    JAVA并发编程实践-中文-高清-带书签-完整版

    此外,Doug Lea还详细解析了Java内存模型(JMM),这是理解Java并发性能和正确性的关键。他解释了happens-before原则,以及如何避免数据竞争和内存可见性问题。书中还提到了一些最佳实践,如如何正确使用wait()和...

    Java 并发编程实战.pdf

    本书还可能涉及Java内存模型(JMM)的知识,JMM定义了共享变量的访问规则,以及如何在多个线程间同步和通信。理解JMM对于编写正确且高效的并发代码至关重要。 除了上述基础知识点外,高级话题如线程安全的集合类、...

    java并发编程实战高清版pdf

    9. **Java内存模型(JMM)**:理解JMM对于理解并发编程中的可见性、有序性和一致性至关重要。它规定了线程如何访问共享内存,并定义了 volatile、synchronized 和 final 关键字的作用。 10. **并发性能分析与调优**...

    Java 并发编程实战 中英文+代码示例

    9. **JVM内存模型**:探讨Java内存模型(JMM),理解happens-before原则,以及volatile和final关键字在保证可见性方面的作用。 10. **线程安全的编程实践**:如何编写可维护、可扩展的并发程序,包括避免共享状态、...

    JAVA并发编程实践.pdf+高清版+目录 书籍源码

    其次,书中深入剖析了Java内存模型(JMM)和可见性问题,这是理解并发编程中数据一致性问题的基础。Java的volatile关键字、synchronized块和方法、以及Atomic类都是解决这些问题的关键工具。作者通过实际案例解释了...

    Java并发编程实践--电子书.rar

    Java内存模型(JMM)定义了线程如何访问和修改共享变量,以及如何确保这些操作对其他线程可见。volatile和synchronized都是JMM的一部分,它们确保了多线程环境下的内存一致性。 最后,性能优化是并发编程中的重要...

    java并发编程2

    7. **Java内存模型** - **JMM(Java Memory Model)** 规定了线程如何访问和修改共享变量,以及对这些操作的排序规则,以保证多线程环境下的正确性。 8. **死锁、活锁和饥饿** - **死锁** 是指两个或多个线程互相...

    Java 并发编程实战pdf + 随书源码 (书高清版,带超详细书签目录)

    10. **JVM内存模型和并发内存模型**:理解JMM(Java Memory Model)对并发的影响,如内存可见性、数据一致性等。 通过学习《Java并发编程实战》,开发者将能够更好地应对多线程环境中的挑战,编写出高效、可靠的...

    Java并发编程实战

    Java内存模型(JMM)定义了线程如何访问和共享内存,理解其工作原理对于理解并发代码的行为至关重要。volatile关键字、final字段的语义以及Java内存屏障的概念,都是书中会涉及的内容。 此外,书中可能还会探讨并发...

    Java 并发编程实战

    - **并发模型**:讨论Java内存模型(JMM)和可见性、有序性、原子性问题。 2. **并发控制** - **同步机制**:深入探讨synchronized关键字的使用,包括可重入锁、锁对象、监视器方法等。 - **volatile关键字**:...

    java并发实战编程 英文版

    此外,还会探讨Java内存模型(JMM)对并发编程的影响,以及volatile关键字的作用。 1. **线程的创建与管理** Java提供了多种方式来创建线程,如实现Runnable接口或继承Thread类。理解和掌握这些方法对于合理地调度...

    Java 并发 编程 实战

    8. **Java内存模型**:理解Java内存模型(JMM)对于编写正确的并发程序至关重要。书中会讲解可见性、有序性和 happens-before 原则等核心概念。 通过阅读《Java并发编程实战》,开发者可以掌握Java并发编程的核心...

    JAVA并发编程实战JAVA并发编程实战JAVA并发编程实战JAVA并发编程实战

    在实战中,开发者还需要熟悉Java内存模型(JMM),它规定了线程如何访问和修改共享变量,以及如何保证可见性和有序性。此外,Java的volatile关键字、final字段、线程Local变量(ThreadLocal)等特性也在并发编程中...

    java 并发编程的艺术pdf清晰完整版 源码

    8. **JVM内存模型与并发**:JVM内存模型对并发编程有直接影响,书中会阐述Java内存模型(JMM)的概念,以及volatile关键字的作用。 9. **并发编程最佳实践**:最后,书中会提供一些并发编程的最佳实践,帮助读者...

    深入Java内存模型-JMM

    Java内存模型,简称JMM(Java Memory Model),是Java虚拟机规范中定义的一个抽象概念,它描述了在多线程环境下,如何保证各个线程对共享数据的一致性视图。JMM的主要目标是定义程序中各个变量的访问规则,以及在...

Global site tag (gtag.js) - Google Analytics