- 博客(3)
- 问答 (1)
- 收藏
- 关注
原创 源码分析----ReentrantLock实现和AbstractQueuedSynchronizer
ReentrantLock有公平锁和非公平锁,默认是非公平锁,而其加锁的解锁的操作其实都是依赖于某个内部对象public class ReentrantLock implements Lock, java.io.Serializable { private final Sync sync; abstract static class Sync extends AbstractQueuedSy...
2016-10-23 13:18:04 345
原创 集合源码分析----ConcurrentHashMap
本文基于JDK1.7分析 先大概讲下ConcurrentHashMap的原理: 1.ConcurrentHashMap内部分成了很多段,每段叫一个Segment,每个Segment里都是一个类似HashMap的结构 2.每次写操作都只对其中一个Segment进行加锁操作,所以线程安全且性能高 ConcurrentHashMap内部主要结构 final Segment[]
2016-10-22 16:21:15 331
原创 集合源码分析----HashMap
该分析基于JDK1.7 HashMap总的来说就是利用hash表来实现的,解决冲突的方法是链地址法,所以可以看到HashMap有如下结构 transient Entry[] table = (Entry[]) EMPTY_TABLE;//hash表中的数组 static class Entry implements Map.Entry {//链表的元素类型 fina
2016-10-21 20:05:36 385
空空如也
JVM Synchronized实现的问题
2018-02-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人