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

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

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

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

Dubbo 源码分析 —— 服务暴露(二)之远程暴露(Dubbo)

在 《精尽 Dubbo 源码分析 —— 服务暴露(一)之本地暴露(Injvm)》 一文中,我们已经分享了本地暴露服务。在本文中,我们来分享远程暴露服务。在 Dubbo 中提供多种协议( Protocol ) 的实现,大体流程一致,本文以 Dubbo Protocol 为例子,这也是 Dubbo 的默认协议。

Dubbo 源码分析 —— 线程池

在 《Dubbo 用户指南 —— 线程模型》 一文中,我们可以看到 Dubbo 提供了三种线程池的实现:ThreadPool。fixed 固定大小线程池,启动时建立线程,不关闭,一直持有。(缺省)cached 缓存线程池,空闲一分钟自动删除,需要时重建。limited 可伸缩线程池,但池中的线程数只会增长不会收缩。只增长不收缩的目的是为了避免收缩时突然来了大流量引起的性能问题。