Java集合源码分析
主要从源码角度来分析Java集合,让你知其然,知其所以然,使用集合时更加得心应手。
JasonGaoH
技术宅,从事Android开发,目前在小红书。
展开
-
关于HashMap你需要知道的一些细节
本文的公众号文章链接:关于HashMap你需要知道的一些细节在官方文档中的描述:Hash table based implementation of the Map interface. This implementation provides all of the optional map operations, and permits null values and the null ...原创 2019-06-03 08:13:21 · 1240 阅读 · 1 评论 -
ArrayList和Vector的区别
ArrayList和Vector的区别ArrayList和Vector这两个集合本质上并没有什么太大的不停,他们都实现了List接口,而且底层都是基于Java数组来存储集合元素。在ArrayList集合类的源代码中也可以看到下面一行: transient Object[] elementData; // non-private to simplify nested class acce...原创 2019-05-31 09:49:20 · 3323 阅读 · 0 评论 -
从源码角度分析ArrayList和LinkedList的区别
List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表。ArrayList底层采用数组来保存每个集合的元素,LinkedList则是一种链式存储的线性表。其本质上就是一个双向链表,但它不仅实现了List接口,还是想了Deque接口。也就是说LinkedList既可以当成双向链表使用,也可以当成队列使用,还可以当成栈来适用于(Deque代表双端队列,即具有队列的特征,也具有栈的...原创 2019-05-31 10:07:19 · 453 阅读 · 0 评论 -
ConcurrentHashMap是如何保证线程安全的
ConcurrentHashMap是如何保证线程安全的之前分析过HashMap的一些实现细节,关于HashMap你需要知道的一些细节, 今天我们从源码角度来看看ConcurrentHashMap是如何实现线程安全的,其实网上这类文章分析特别多,秉着”纸上得来终觉浅,绝知此事要躬行“的原则,我们尝试自己去分析下,希望这样对于ConcurrentHashMap有一个更深刻的理解。为什么说HashM...原创 2019-09-24 09:59:35 · 6059 阅读 · 10 评论