[笔记][思维导图]读深入理解JAVA内存模型整理的思维导图
来源:互联网 发布:设ab均为二阶矩阵 编辑:程序博客网 时间:2024/06/06 01:02
本人记忆差,整理这个思维导图,相当于较认真的看了一遍,整个思维导图,基本上就是对原文的拷贝。
有了层级关系。和本人自己的一些理解。由于思维导图弄出来的图片大于100M了。所以就放出源文件,
更方便的阅读查阅。免积分下载:http://download.csdn.net/detail/mr_zhuqiang/8945087
有几点我觉得是看这个本书或则思维导图。你要明白的是:
1. 什么是内存可见性
2. 在java程序中,在底层执行的代码指令并不是完全按照顺序执行的-有重排序的存在
3. volatile 是一个和硬件的位数、数据的位数相关的概念,实际上和多线程是无关。
例:long:64位,在32位的硬件上操作long需要两次来往(寄存器和内存间),就可以需要volatile(多线程)来保证当前线程完全写入64位,其它线程才能读或写在64位硬件上操作long(64位),用不用volatile一点影响都没有(机器指令已经保证了这一点)
如果这个无误的话,那么就验证了 volatile的两个特性,可见性和原子性。然而,想用代码来展示出错效果的话,貌似写不出来,
有用volatile来保证同步性的。但是这个的确是误用的,volatile只是保证该变量的读写,并不保证 复合操作的同步性。所以应该记住volatile的两个特性就行了
4.正是因为有了重排序和数据竞争才出现了多线程并发安全问题
5.什么是逸出?:对象还没构造完成 引用已经被其他地方使用了 - 称为逸出
6.final的修饰的变量正确的初始化方法
下面是整理的思维导图层级截图展示
下载地址:http://download.csdn.net/detail/mr_zhuqiang/8939419
- [笔记][思维导图]读深入理解JAVA内存模型整理的思维导图
- 《深入理解Java虚拟机》的思维导图读书笔记
- Java 基础知识整理的思维导图
- 深入理解Java虚拟机总结-思维导图
- 思维导图-深入理解计算机操作系统
- 《深入理解Java虚拟机》--阅读笔记(思维导图,干货收好)
- 思维导图整理
- JVM内存详解Java数据的存储(思维导图整理)
- Java学习路线思维导图整理
- [计算机领域的思维导图系列整理][java]多线程
- [思维导图]Java中异常的分类整理
- 思维导图 笔记
- Linux思维导图整理
- Linux思维导图整理
- Linux思维导图整理
- Java 思维导图
- java思维导图
- 史上最牛JAVA思维导图学习笔记
- Fragment简单使用
- Oracle分页
- HDOJ A New Tetris Game 1760【SG函数】
- 对kmp算法的一个小小的总结
- 【转载】Java如何实现文件打包下载功能
- [笔记][思维导图]读深入理解JAVA内存模型整理的思维导图
- HDU 1240 Asteroids!
- 线程池的实现
- 常用渗透测试系统
- 模块化设计实例
- mysql创建索引
- 使用maven,Apache ServiceMix开发OSGI web例子
- 流程控制语句
- mysql数据库中的索引有那些、有什么用