摘要: 1. LinkedHashMap.Entry LinkedHashMap继承自HashMap,在其内部维护了一个双向链表 2. LinkedHashMap 1' get + afterNodeAccess + accessOrder(true):将被访问的节点移至双向链表尾部 2' newNode、 阅读全文
posted @ 2017-12-25 14:01 Uncle_Bjorney 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1. Semaphore Semaphore和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer共享排队的方式实现。 关于AbstractQueuedSynchronizer中的独占锁和共享锁,请参考ReentrantL 阅读全文
posted @ 2017-12-25 13:16 Uncle_Bjorney 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 1. 常量和变量 2. 构造方法 3. 等待节点 4. 实现Future接口 1)cancel 2)isCancelled和isDone 3)get 5. 实现Runnable接口 6. Unsafe 阅读全文
posted @ 2017-12-24 23:23 Uncle_Bjorney 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1. 常量和变量 2. 父类AbstractExecutorService 不详细讲AbstractExecutorService,将会涉及到FutrueTask类,有空大家可以研究下。 3. execute 4. ThreadPoolExecutor.Worker 不详细讲AbstractSync 阅读全文
posted @ 2017-12-24 17:35 Uncle_Bjorney 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1)读不加锁,写加锁。 2)Copy-On-Write:写时拷贝。 3)保证最终一致性,不保证实时一致性。 4)尽量批量添加(删除):减少Copy、减少GC。 5)适用场景:读多写少。 阅读全文
posted @ 2017-12-23 23:32 Uncle_Bjorney 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 1. getByName 1)InetAddress.Cache 2)getCachedAddresses 3)getAddressesFromNameService 2. getByAddress getByName会立刻请求解析域名为IP地址,而getByAddress不会立刻请求解析IP地址为 阅读全文
posted @ 2017-12-23 14:41 Uncle_Bjorney 阅读(3387) 评论(0) 推荐(0) 编辑
摘要: 例子中有些写法参考自Netty4源码,建议在实际运用中采用Netty,而非原生的Java NIO(小心epoll空转)。 1. 服务器端 2. 客户端 阅读全文
posted @ 2017-12-22 15:31 Uncle_Bjorney 阅读(2071) 评论(0) 推荐(0) 编辑
摘要: 1. 常量、成员变量 2. 获取元素 1' 若key所映射的bin为空,则返回空 2‘ 若当前bin首个节点为待查找节点,则返回首个节点值 3' 若当前bin首个节点哈希值 < 0,则当前bin为红黑树,或当前bin已迁移到新table中 1’‘ 若当前bin为空黑树(TreeBin),则在红黑树上 阅读全文
posted @ 2017-12-21 16:53 Uncle_Bjorney 阅读(1084) 评论(0) 推荐(0) 编辑
摘要: 1. HashMap.Entry(红黑树节点) 2. 构建TreeMap 3. get 在查找过程中,采用比较器或自然顺序比较节点大小: 1‘ 指定比较器时,优先使用比较器比较节点大小 2' 未指定比较器时,待查找键类型必须实现Comparable接口 4. ceilingEntry和floorEn 阅读全文
posted @ 2017-12-19 19:08 Uncle_Bjorney 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 1. 扩容 ArrayList扩容包括ensureCapacity(对外开放)和ensureCapacityInternal(内部隐式调用)两个接口: 1' 两者都调用ensureExplicitCapacity接口进行扩容 2' ensureExplicitCapacity在当前容量 < 指定的最 阅读全文
posted @ 2017-12-19 10:42 Uncle_Bjorney 阅读(188) 评论(0) 推荐(0) 编辑