【文件属性】:
文件名称:java7hashmap源码-Concurrency:这是用来学习java多线程的
文件大小:181KB
文件格式:ZIP
更新时间:2021-06-04 16:02:03
系统开源
java7
hashmap源码
concurrency
项目介绍
并发编程
可见性-volatile
通过内存屏障和禁止重排序优化实现
1.对volatile变量写操时,会在写操作后加入一条store屏障指令,将本地内存中的共享变量值刷新到主内存
2.对volatile变量读操时,会在读操作后加入一条load屏障指令,从主内存中读取共享变量
有序性
Java内存模型中,,允许编译器和处理器对指令进行重排序,但是重排序过程不会影响到单线程的执行,
却会影响到多线程并发执行的正确性
*
##############
5.安全发布对象
发布对象->对一个对象能够被当前范围之外的代码所使用
对象逸出->一种错误的发布.当一个对象还没有构造完成时.就使他被其他线程所见
安全的发布对象的4种方法
*在静态初始化函数中初始化一个对象的引用
*将对象的引用保存到volatile类型域或者AtomicReference对象中
*将对象的引用保存到某个正确的构造对象的final类域中
*将对象的引用保存到一个由锁保护的域中
##########################
1.不可变对象
满足条件
a