java集合类源码分析
此专栏主要对jdk1.8,Arrays、LinkedList、ArrayList、HashSet、HashMap等类源码,原理分析。基于JDK1.7
javaduqing
duqingfeng.net
展开
-
2-3树插入、删除操作
一、定义2-3查找树的定义如下:要么为空,要么:对于2节点,该节点保存一个key及对应value,以及两个指向左右节点的节点,左节点也是一个2-3节点,所有的值都比key要小,右节点也是一个2-3节点,所有的值比key要大对于3节点,该节点保存两个key及对应value,以及三个指向左中右的节点。左节点也是一个2-3节点,所有的值均比两个key中的最小的key还要小;中间节点也是一个2-3节点原创 2017-12-26 11:40:15 · 4354 阅读 · 2 评论 -
spring cloud微服务架构(二):集群容错框架Hystrix的使用
1 Hystrix解决什么问题简单是来说,在分布式系统中,假如有一个请求需要调用10个服务,如果这10个服务中有一个服务A出现了问题,则这个请求就会阻塞,那么只要调用服务A的请求都会阻塞。进一步来说,就是一个服务出现问题,可能导致所有的请求处于阻塞状态,从而导致整个分布式系统都不可用,这就是“雪崩效应”。2 Hystrix如何去解决这些问题线程池隔离或信号量隔离:线程池隔离...原创 2017-12-21 17:01:20 · 471 阅读 · 0 评论 -
ConcurrentHashMap源码理解(1.7)
请先阅读: HashMap源码分析 Hashtable类注释翻译、源码分析 一、前言先来复习下HashMap、HashTable。 HashMap是基于哈希表实现的。每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 数据结构可表示如下: HashTable是HashMap是线程安全版,但是使用synchronized来保证线程原创 2017-12-16 19:45:52 · 679 阅读 · 0 评论 -
LinkedList类注释翻译、源码分析
一、类注释翻译 * Doubly -linked list implementation of the {@code List} and {@code Deque} * interfaces. Implements all optional list operations, and permits all * elements (including {@code null}).使用“双向链表原创 2017-07-01 11:17:25 · 791 阅读 · 0 评论 -
ArrayList类注释翻译、源码分析
一、类注释翻译/** * Resizable -array implementation of the <tt> List</tt> interface. Implements * all optional list operations, and permits all elements, including * <tt>null </tt> . In addition to imple原创 2017-06-30 10:40:28 · 1057 阅读 · 0 评论 -
Hashtable类注释翻译、源码分析
一、与HashMap的不同之处 HashMap Hashtable 线程同步 线程不同步 key可以为NULL key不可以为NULL 使用fail-fast迭代器 enumerator迭代器 继承AbstractMap 继承Dictionary我们在阅读源码的过程中可以着重分析HashTable的四个特点。二、类注释翻译This class implemen原创 2017-06-26 20:33:43 · 1194 阅读 · 0 评论 -
HashSet类注释翻译、fast-fail、源码分析
一、类注释翻译This class implements the <tt> Set</tt> interface, backed by a hash table(actually a <tt>HashMap </tt> instance). It makes no guarantees as to theiteration order of the set; in particular, it原创 2017-06-24 16:12:59 · 737 阅读 · 0 评论 -
HashMap源码分析
一、什么是哈希表1.定义哈希表(hash table、散列表),是一种常用的数据结构。通过数组+链表实现。 我们要新增或查找某个元素,我们通过把当前元素的关键字 通过某个函数映射到数组中的某个位置。 其中,这个函数f一般称为哈希函数,这个函数的设计好坏会直接影响到哈希表的优劣。hash函数的种类有多种,HashMap种采用的直接寻址方式。 2.地址冲突举例:有两个元素A、B想要加入hash表,过程原创 2017-06-21 11:46:30 · 567 阅读 · 0 评论