![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
menghaipeng
这个作者很懒,什么都没留下…
展开
-
Java并发编程AQS(AbstractQueuedSynchronizer)源码分析共享模式(二)
之前分析了原创 2019-12-18 15:58:35 · 111 阅读 · 0 评论 -
Java并发编程AQS(AbstractQueuedSynchronizer)源码分析独占模式(一)
Java并发编程AQS抽象队列同步器(简称AQS)用来构建锁和其他同步组件的基础框架,如可重入锁ReentrantLock、读写锁ReentrantReadWriteLock、锁存器CountDownLatch等等…其内部使用一个int类型成员变量state表示同步状态,FIFO(先进先出)同步队列来控制获取共享资源的线程,ConditionObject构建的等待队列来实现条件锁的同步实现,同...原创 2019-12-13 16:54:31 · 160 阅读 · 0 评论 -
Java容器之HashMap源码阅读(三)
Java容器之HashMap源码阅读(三)HashMap内部数据结构使用了哈希表数组+链表实现,JDK1.8之后新增了红黑树,也就是说HashMap底层可能是哈希表数组+链表结构也可能是哈希表数组+红黑树结构。在研究HashMap之前复习一下ArrayList、LinkedList的底层结构。ArrayList使用的是数组,LinkedList使用的是链表,而HashMap核心结构是hash...原创 2019-12-03 09:11:43 · 101 阅读 · 0 评论 -
Java容器之LinkedList源码阅读(二)
Java容器之LinkedList源码阅读(二)与ArrayList使用数组存储元素不同的是,linkedList底层使用的是多个节点组成的双端链表,每个节点除了存储值之外,还维护了指向前一个与后一个节点的引用。// 与ArrayList不同的是LinkedList少实现了一个支持随机访问的接口,多了一个支持双端队列的接口。这里可看出相对ArrayList它的随机访问效率肯定是要低的,而且...原创 2019-12-02 11:11:59 · 130 阅读 · 0 评论 -
Java容器之ArrayList源码阅读(一)
Java容器之ArrayList源码阅读(一)ArrayList——百度翻译数组列表,相信只要是java开发人员都会每天接触到,百度一下,各种介绍与分析的。面试大纲中必有知识点。网上也有很多文章都有分析java这几种容器之间的结构、效率对比。事实上只有当自己亲自翻阅JDK中的源代码才会有真正的了解。后面就通过JDK1.8版本探索其中的实现原理。public class ArrayList<...原创 2019-11-30 16:49:11 · 143 阅读 · 0 评论