java并发 13
-
29 2018年05月
volatile关键字
在java语言规范中对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。简单点来说就是一个变量如果用volatile修饰了,则java可以确保所有线程看到这个变量的值是一致,如果某个线程对volatile修
-
21 2018年05月
synchronized原理
在遇到多线程情况下使用最多的synchronized,但它是一个重量级的锁,相对于Lock,它会显得有点笨重,但是自从JDK1.6开始已经对synchronized进行了各种优化,并没有之前版本那么重,下面来看看synchronized的实现机制以及锁优化。基本使用synchronized可以保证方
-
14 2018年05月
java并发之ConcurrentHashMap
ConcurrentHashMap介绍因为ConcurrentHashMap支持并发操作,所以源码理解起来并不是很容易,尤其是JDK1.8的源码加入红黑树,本文分别分析JDK1.8和JDK1.7源码JDK1.8 中 ConcurrentHashMap 类取消了 Segment 分段锁,采用 CAS