
源码阅读之路
分享自己的源码分析文章,主要路线为JDK常用容器源码,JDK并发包源码,redis源码和spring框架系列等源码
码奴生来就只知道前进
我的GitHub账号:www.github.com/Mrhuangyi
展开
-
HashMap源码阅读
HashMap源码分析(基于jdk1.8)底层数据结构分析虽然我看的源码是jdk1.8的,但我还是想先提一提jdk1.7的底层实现。jdk1.8对HashMap做了很多优化,但无疑对源码理解增加了不少难度,举个例子,光红黑树就够你研究的了。所以如果是初步学习的话,我倒是推荐先看看jdk1.7的实现。1.7HashMap的底层实现底层结构数组 + 单链表内部包含一个Entry类型的数组...原创 2019-08-25 19:22:26 · 392 阅读 · 0 评论 -
LinkedList源码阅读
LinkedList源码阅读(jdk1.8)简介:LinkedList继承自AbstractSequentialList,实现了List、Deque、Cloneable、Serializable接口。底层数据结构为双向链表。实现了List接口,所以可以进行队列操作实现了Deque接口,所以可以进行双端队列操作实现了Cloneable接口,支持克隆实现了Serializable接口,,...原创 2019-08-05 15:47:04 · 190 阅读 · 0 评论 -
Vector源码阅读
Vector源码阅读(基于jdk1.8)前几天看了ArrayList,今天再来看看Vector,这两个其实大同小异,基本结构都差不多,只是一些细节上有区别:比如线程安全与否,扩容的大小等,Vector的线程安全通过在方法是直接加synchronize实现。扩容默认扩大为原来的2倍。还是先来看类的定义,搞清类的结构层次:可以看到Vector继承了AbstractList,实现了List,Ran...原创 2019-06-28 21:47:25 · 437 阅读 · 0 评论 -
redis介绍和数据结构
参考资料:《redis设计与实现》redis介绍Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。...原创 2019-04-23 20:36:45 · 776 阅读 · 0 评论 -
ArrayList源码阅读
ArrayList源码阅读(基于jdk1.8)我们先来看看类的定义:public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable用的都是Java泛型,继承了Abstrac...原创 2019-06-22 23:35:32 · 237 阅读 · 0 评论