JDK 源码解析 —— 集合(七)TreeSet

TreeSet ,基于 TreeSet 的 Set 实现类。在业务中,如果我们有排重+ 排序的需求,一般会考虑使用 TreeSet 。不过,貌似很少会出现排重+ 排序的双重需求。所以呢,TreeSet 反正艿艿是木有使用过。

JDK 源码解析 —— 集合(六)TreeMap

在 《JDK 源码解析 —— 集合(四)哈希表 LinkedHashMap》 中,我们提到了两种有序 Map 的选择。一种是 LinkedHashMap ,以前在该文进行了详细解析,而本文,我们开始 TreeMap 之旅,按照 key 的顺序的 Map 实现类。

JDK 源码解析 —— 集合(二)链表 LinkedList

LinkedList ,基于节点实现的双向链表的 List ,每个节点都指向前一个和后一个节点从而形成链表。相比 ArrayList 来说,我们日常开发使用 LinkedList 相对比较少。如果胖友打开 IDEA ,搜下项目中 LinkedList 后,会发现使用的少之又少。

JDK 源码解析 —— 集合(一)数组 ArrayList

ArrayList ,基于 [] 数组实现的,支持自动扩容的动态数组。相比数组来说,因为其支持**自动扩容**的特性,成为我们日常开发中,最常用的集合类,没有之一。

JDK 源码解析 —— 调试环境搭建(二)进阶

在 《 JDK 源码解析 —— 调试环境搭建(一)入门》 中,我们已经能够简单的调试。但是,有些跟我一样“杠”的胖友,我要调试 JDK 源码,还要使用自己编译出来的 OpenJDK 。

JDK 源码解析 —— 调试环境搭建(一)入门

本文,我们在原来文章 [《JDK 源码解析 —— 调试环境搭建》](http://vip.iocoder.cn/JDK/build-debugging-environment/?self) 的基础上,从 JDK11 调整成 JDK13 ,并使用 Git 取代 Mercurial 获取 OpenJDK 的源码。