09 2019 档案
摘要:前言:ConcurrentHashMap是HashMap的线程安全版本,内部使用了数组+链表+红黑树的结构来存储数据,相对于同样线程安全的Hashtable来说,它在效率方面有很大的提升,因此多线程环境下更多的是使用ConcurrentHashMap,因此有必要对其原理进行分析。 注:本文jdk源码
阅读全文
摘要:前言:LinkedHashMap继承HashMap,所以它是线程不安全的,但是它有序,下面就让我们来对其内部原理进行分析。 注:本文jdk源码版本为jdk1.8.0_172 1.LinkedHashMap介绍 LinkedHashMap底层数据结构为双向链表,能保证元素按照插入顺序访问,也能以访问顺
阅读全文
摘要:前言:CopyOnWriteArrayList为ArrayList的线程安全版本,这里来分析下其内部是如何实现的。 注:本文jdk源码版本为jdk1.8.0_172 1.CopyOnWriteArrayList介绍 CopyOnWriteArrayList是ArrayList的线程安全版本,因此其底
阅读全文
摘要:前言:作为一个常用的List接口实现类,日常开发过程中使用率非常高,因此有必要对其原理进行分析。 注:本文jdk源码版本为jdk1.8.0_172 1.ArrayList介绍 ArrayList底层数据结构是数组(数组是一组连续的内存空间),默认容量为10,它具有动态扩容的能力,线程不安全,元素可以
阅读全文
摘要:前言:WeakHashMap可能平时使用的频率并不高,但是你可能听过WeakHashMap会进行自动回收吧,下面就对其原理进行分析。 注:本文jdk源码版本为jdk1.8.0_172 1.WeakHashMap介绍 WeakHashMap是一种弱引用的map,底层数据结构为数组+链表,内部的key存
阅读全文
摘要:前言:LinkedList的底层数据结构是双向链表,下面具体分析其实现原理。 注:本文jdk源码版本为jdk1.8.0_172 1..LinkedList介绍 LinkedList继承于AbstractSequentialList的双向链表,实现List接口,因此也可以对其进行队列操作,它也实现了D
阅读全文