![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java高并发
没想好叫什么名字
这个作者很懒,什么都没留下…
展开
-
可见性与volatile关键字
1. 缓存一致性问题 在计算机中,每条指令都是在CPU执行的,而CPU又不具备存储数据的功能,因此数据都是存储在主存(即内存)和外存(硬盘)中。但是,主存中数据的存取速度高于外存中数据的存取速度(这也就是为什么内存条的价格会高),于是计算机就将需要的数据先读取到主存中,计算机运算完成后再将数据写入到外存中。 但是,CPU的计算能力太强了,CPU从主存中读取写入数据的速度还是太慢了,严重转载 2017-10-14 19:30:54 · 3266 阅读 · 0 评论 -
证明32位java对long和double的写操作不是原子性的
public class Test { protected long l = -1l; public static void main(String[] args) { System.out.println(toBinary(-1l)); System.out.println(toBinary(1l)); Test t = new转载 2017-10-14 20:18:47 · 1398 阅读 · 1 评论 -
JDK并发包1
1. 各种同步控制工具的使用 1.1 ReentrantLock ReentrantLock感觉上是synchronized的增强版,synchronized的特点是使用简单,一切交给JVM去处理,但是功能上是比较薄弱的。在JDK1.5之前,ReentrantLock的性能要好于synchronized,由于对JVM进行了优化,现在的JDK版本中,两者性能是不相上下的。如果是简单的实现,转载 2017-10-15 09:17:49 · 214 阅读 · 0 评论 -
ConcurrentHashMap总结
并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O)。ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,f转载 2017-10-15 09:51:42 · 210 阅读 · 0 评论