jdk源码
究极纲要
狗命要紧
展开
-
jdk1.8 ConcurrentHashMap
jdk1.8的ConcurrentHashMap的实现中,构造方法主要是对内部的大小进行设置。 public ConcurrentHashMap(int initialCapacity, float loadFactor, int concurrencyLevel) { if (!(loadFactor > 0.0f) || initialCapacity < 0 || concurrencyLevel <= 0)原创 2020-11-28 14:17:21 · 468 阅读 · 0 评论 -
ReentrantLock源码
昨天ConcurrentHashMap中内部类分段锁segment直接继承ReentrantLock类,今天康康ReentrantLock。 ReentrantLock类构造方法及成员: private final Sync sync; public ReentrantLock() { sync = new NonfairSync(); } public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new原创 2020-11-27 20:44:58 · 161 阅读 · 0 评论 -
jdk1.7 ConcurrentHashMap源码
ConcurrentHashMap类的成员: static final int DEFAULT_INITIAL_CAPACITY = 16; //默认的map的容量 static final float DEFAULT_LOAD_FACTOR = 0.75f; //默认负载因子 static final int DEFAULT_CONCURRENCY_LEVEL = 16; //默认分段锁数量 static final int MAXIMUM_CAPACITY = 1 << 30; //原创 2020-11-26 20:46:23 · 456 阅读 · 2 评论 -
3. Java NIO之Selector如何实现(三)
Selector默认是WindowsSelectorImpl的一个实例, 当调用了SelectorImpl的select()方法的时候,调用selector(timeout),之后会调用lockAndDoSelect(),在这个方法中,主要调用了doSelect()方法,参数与传进来的一致,以WindowsSelectorImpl为例子,实现的doSelect()方法。 protected...原创 2020-01-28 18:20:58 · 252 阅读 · 0 评论 -
3. Java NIO之Selector如何实现(二)
Selector创建完毕,紧接着原创 2020-01-28 18:20:44 · 151 阅读 · 0 评论 -
3. Java NIO之Selector如何实现(一)
Netty中NioEventLoop对于线程的run()方法的实现,是真正对于Selector的轮询操作。 Selector选择器,Selector是java nio 核心组件之一,用于轮询一个或多个NIO Channel的状态是否处于可读、可写。如此,一个线程就可以管理多个Channel,即就是可以管理多个网络连接。因此,Selector也称为多路复用器。 Selector是如何轮询的? 首...原创 2020-01-15 18:24:43 · 433 阅读 · 0 评论 -
HashMap源码分析之另外一部分数据操作相关方法
删除数据 public V remove(Object key) final Node<K,V> removeNode(int hash, Object key, Object value, boolean matchValue, boolean movable) /** * Removes the mapping for the specified key from thi...原创 2019-12-18 20:45:55 · 157 阅读 · 0 评论 -
HashMap源码分析之构造函数及部分数据操作相关方法
“在介绍HashMap之前,为了方便更清楚地理解源码,先大致说说HashMap的实现原理, HashMap 是基于数组 + 链表实现的, 首先HashMap就是一个大数组,在这个数组中,通过hash值去寻对应位置的元素, 如果遇到多个元素的hash值一样,那么怎么保存,这就引入了链表,在同一个hash的位置,保存多个元素(通过链表关联起来)。HashMap 所实现的基于<key, val...原创 2019-12-17 20:45:57 · 220 阅读 · 0 评论