04 2019 档案

摘要:什么是双端队列? ArrayDeque是怎么实现双端队列的? ArrayDeque是线程安全的吗? ArrayDeque是有界的吗? 阅读全文
posted @ 2019-04-29 23:17 彤哥读源码 阅读(1070) 评论(0) 推荐(1) 编辑
摘要:DelayQueue是阻塞队列吗? DelayQueue的实现方式? DelayQueue主要用于什么场景? 阅读全文
posted @ 2019-04-28 23:33 彤哥读源码 阅读(2824) 评论(0) 推荐(1) 编辑
摘要:ConcurrentLinkedQueue是阻塞队列吗? ConcurrentLinkedQueue如何保证并发安全? ConcurrentLinkedQueue能用于线程池吗? 阅读全文
posted @ 2019-04-27 23:39 彤哥读源码 阅读(1224) 评论(1) 推荐(0) 编辑
摘要:LinkedTransferQueue是什么东东? LinkedTransferQueue是怎么实现阻塞队列的? LinkedTransferQueue是怎么控制并发安全的? 阅读全文
posted @ 2019-04-27 18:38 彤哥读源码 阅读(1420) 评论(0) 推荐(0) 编辑
摘要:PriorityBlockingQueue的实现方式? PriorityBlockingQueue是否需要扩容? PriorityBlockingQueue是怎么控制并发安全的? 阅读全文
posted @ 2019-04-26 09:04 彤哥读源码 阅读(810) 评论(0) 推荐(0) 编辑
摘要:SynchronousQueue的实现方式? SynchronousQueue真的是无缓冲的吗? SynchronousQueue在高并发情景下会有什么问题? 阅读全文
posted @ 2019-04-25 23:01 彤哥读源码 阅读(2085) 评论(1) 推荐(0) 编辑
摘要:LinkedBlockingQueue的实现方式? LinkedBlockingQueue是有界的还是无界的队列? LinkedBlockingQueue相比ArrayBlockingQueue有什么改进? 阅读全文
posted @ 2019-04-22 22:23 彤哥读源码 阅读(1285) 评论(0) 推荐(0) 编辑
摘要:ArrayBlockingQueue的实现方式? ArrayBlockingQueue是否需要扩容? ArrayBlockingQueue有什么缺点? 阅读全文
posted @ 2019-04-21 22:40 彤哥读源码 阅读(2090) 评论(0) 推荐(0) 编辑
摘要:什么是优先级队列? 怎么实现一个优先级队列? PriorityQueue是线程安全的吗? PriorityQueue就有序的吗? 阅读全文
posted @ 2019-04-20 22:23 彤哥读源码 阅读(1424) 评论(0) 推荐(1) 编辑
摘要:什么是堆? 什么是堆化? 什么是堆排序? 时间复杂度各是多少? 有哪些应用? 阅读全文
posted @ 2019-04-20 07:49 彤哥读源码 阅读(2529) 评论(1) 推荐(3) 编辑
摘要:ConcurrentSkipListSet的底层是ConcurrentSkipListMap吗? ConcurrentSkipListSet是线程安全的吗? ConcurrentSkipListSet是有序的吗? ConcurrentSkipListSet和之前讲的Set有何不同? 阅读全文
posted @ 2019-04-18 23:27 彤哥读源码 阅读(1206) 评论(0) 推荐(1) 编辑
摘要:CopyOnWriteArraySet是用Map实现的吗? CopyOnWriteArraySet是有序的吗? CopyOnWriteArraySet以何种方式保证元素不重复? 如何比较两个Set中的元素是否完全一致? 阅读全文
posted @ 2019-04-17 22:12 彤哥读源码 阅读(1382) 评论(0) 推荐(0) 编辑
摘要:TreeSet真的是使用TreeMap来存储元素的吗? TreeSet是有序的吗? TreeSet和LinkedHashSet有何不同? 阅读全文
posted @ 2019-04-16 20:54 彤哥读源码 阅读(1016) 评论(0) 推荐(0) 编辑
摘要:LinkedHashSet的底层使用什么存储元素? LinkedHashSet与HashSet有什么不同? LinkedHashSet是有序的吗? LinkedHashSet支持按元素访问顺序排序吗? 阅读全文
posted @ 2019-04-15 21:11 彤哥读源码 阅读(1655) 评论(0) 推荐(1) 编辑
摘要:HashSet怎么保证添加元素不重复? HashSet是否允许null元素? HashSet是有序的吗? HashSet是同步的吗? 什么是fail-fast? 阅读全文
posted @ 2019-04-14 21:58 彤哥读源码 阅读(1778) 评论(0) 推荐(1) 编辑
摘要:什么是跳表? 跳表有哪些特性? 跳表相比于红黑树如何呢? 为什么Redis选择使用跳表来实现有序集合? 阅读全文
posted @ 2019-04-14 13:40 彤哥读源码 阅读(1989) 评论(1) 推荐(2) 编辑
摘要:一句话,讲清楚java泛型的本质(非类型擦除) 关于java泛型,你知道不知道的都在这里了~~ 阅读全文
posted @ 2019-04-13 11:48 彤哥读源码 阅读(1233) 评论(0) 推荐(0) 编辑
摘要:拜托,面试别再问我跳表了! 何为跳表? 跳表使用什么样的存储结构? 为何Redis选择用跳表来实现有序集合? 阅读全文
posted @ 2019-04-12 07:41 彤哥读源码 阅读(3404) 评论(0) 推荐(1) 编辑
摘要:死磕 java集合之ConcurrentHashMap源码分析(三) ConcurrentHashMap查询是否也加锁? ConcurrentHashMap有哪些值得我们学习的技术? ConcurrentHashMap有哪些不能解决的问题? 阅读全文
posted @ 2019-04-10 23:42 彤哥读源码 阅读(1566) 评论(0) 推荐(1) 编辑
摘要:死磕 java集合之ConcurrentHashMap源码分析(二)——扩容 ConcurrentHashMap扩容门槛是多少?怎么计算得来? ConcurrentHashMap装载因子是多少? ConcurrentHashMap扩容规则是怎么样的? ConcurrentHashMap扩容怎么保证多线程安全? ConcurrentHashMap元素个数是怎么存储的? ConcurrentHashMap是不是强一致性的? 阅读全文
posted @ 2019-04-10 19:00 彤哥读源码 阅读(2004) 评论(1) 推荐(0) 编辑
摘要:死磕 java集合之ConcurrentHashMap源码分析(一) 它的存储结构是什么样的? 它使用了哪些锁? 它是怎么扩容的? 它是否是强一致性的? 它不能解决哪些问题? 它的源码中使用了哪些不常见的技术? 阅读全文
posted @ 2019-04-08 23:18 彤哥读源码 阅读(2269) 评论(0) 推荐(0) 编辑
摘要:如何阅读jdk源码? 1. 设定目标 2. 提出问题 3. 如何提出问题 4. 带着问题阅读源码,忽略不必要的细节,死磕重要的细节 5. 多做比较 6. 多做实验 7. 耐心&坚持 8. 彩蛋 阅读全文
posted @ 2019-04-07 22:44 彤哥读源码 阅读(3457) 评论(0) 推荐(2) 编辑
摘要:死磕 java集合之TreeMap源码分析(四) 红黑树是通过中序遍历进行的吗? 有没有更高效的遍历方式? 如何按范围查找元素? 如何查找最近的元素? 阅读全文
posted @ 2019-04-04 23:56 彤哥读源码 阅读(769) 评论(0) 推荐(0) 编辑
摘要:死磕 java集合之TreeMap源码分析(三) 红黑树删除元素的时间复杂度如何? 为什么删除元素之后要做平衡? 以什么样的形式平衡最省时间? 阅读全文
posted @ 2019-04-04 23:51 彤哥读源码 阅读(792) 评论(0) 推荐(0) 编辑
摘要:死磕 java集合之TreeMap源码分析(二) 红黑树插入元素的时间复杂度如何? 为什么插入元素之后要做平衡? 以什么样的形式平衡最省时间? 如果插入元素的顺序不一样,会得到同样的树吗? 阅读全文
posted @ 2019-04-04 22:03 彤哥读源码 阅读(803) 评论(0) 推荐(0) 编辑
摘要:死磕 java集合之TreeMap源码分析(一) 红黑树是什么?有什么特性? 它的时间复杂度是多少? 它跟SortedMap有什么区别和联系? 它的左旋、右旋是怎么玩的? 阅读全文
posted @ 2019-04-03 21:25 彤哥读源码 阅读(1436) 评论(0) 推荐(0) 编辑
摘要:死磕 java集合之WeakHashMap源码分析 你知道它的存储结构是怎样的吗? 它和HashMap有什么不同? 它为什么叫做弱HashMap,弱在哪? 它通常的用途是什么? 阅读全文
posted @ 2019-04-02 23:13 彤哥读源码 阅读(1063) 评论(0) 推荐(1) 编辑
摘要:死磕 java集合之LinkedHashMap源码分析 你了解它的存储结构吗? 你知道它为什么可以用来实现LRU缓存吗? 它真的可以直接拿来实现LRU缓存吗? 阅读全文
posted @ 2019-04-01 21:52 彤哥读源码 阅读(1408) 评论(0) 推荐(1) 编辑
摘要:HashMap使用什么结构存储数据?java7和java8的实现方式有什么区别?它为什么那么快?它什么时候进行树化?什么时候进行反树化?它的扩容规则又是怎样的?有没有什么数据结构可以替换红黑树的实现部分? 阅读全文
posted @ 2019-04-01 21:01 彤哥读源码 阅读(3036) 评论(2) 推荐(4) 编辑
摘要:CopyOnWriteArrayList是线程安全版本的ArrayList,实现了读写分离,每次修改都是一次全量拷贝,适用于读多写少的场景,而且只保证最终一致性! 阅读全文
posted @ 2019-04-01 21:00 彤哥读源码 阅读(2172) 评论(2) 推荐(1) 编辑
摘要:见过的最详细的ArrayList的源码分析了,分析得很透彻。比如,c.toArray()一定返回Object[]类型吗?elementData声明为transient,那它到底是怎么序列化的呢?远远不止这些…… 阅读全文
posted @ 2019-04-01 20:53 彤哥读源码 阅读(4688) 评论(4) 推荐(3) 编辑

点击右上角即可分享
微信分享提示