首次接触一致性哈希是在学习memcached的时候,为了解决分布式服务器的负载均衡或者说选路的问题,一致性哈希算法不仅能够使memcached服务器被选中的概率(数据分布)更加均匀,而且使得服务器的增加和减少对整个分…
分类:java集合源码分析
java.util.BitSet类源码分析
java.util.BitSet 类分析 一些概念: 一些逻辑上的位概念: 1,10 , 100 以上为 左移动<< 掩码 经常作为位预算中,通过与或者是 异或操作来获取所需要的值,最常见的如 子…
Java集合源码分析之Map(一):超级接口Map
数组与链表在处理数据时各有优缺点,数组查询速度很快而插入很慢,链表在插入时表现优秀但查询无力。哈希表则整合了数组与链表的优点,能在插入和查找等方面都有不错的速度。我们之后要…
java源码-ConcurrentHashMap分析-1
ConcurrentHashMap源码分析 版本jdk8 摈弃了jdk7之前的segement段锁: 首先分析一下put方法,大致的流程就是首先对key取hash函数 判断是否first节点是否存在 不存在则 cas更新…
Java源码分析之StringBuffer---A thread-safe, mutable sequence of characters.
源码开头给出的StringBuffer的优点: 1. 可以修改的,也就是说是一个字符串变量 2. 线程安全的,因为部分方法被Synchron…
Java 集合类 源码分析学习 ----(3)ArrayList类的实现与设计
面试题: 看的面经里面,关于 ArrayList 的题目不多,牛客里面的选择题关于 ArrayList 的有一些。 关注点: 讲讲 ArrayList 吧; ArrayList 的设计细节: 数据结构,默认参数,扩容机制…
Java调度线程池ScheduledThreadPoolExecutor源码分析
最近新接手的项目里大量使用了ScheduledThreadPoolExecutor类去执行一些定时任务,之前一直没有机会研究这个类的源码,这次趁着机会好好研读一下。 原文地址:http://www.jianshu.com…
Java并发包中Semaphore的工作原理、源码分析及使用示例
简介: 在多线程程序设计中有三个同步工具需要我们掌握,分别是Semaphore(信号量),countDownLatch(倒计数门闸锁),CyclicBarrier(可重用栅栏) 欢迎探讨,如有错误敬请指正 如需转载,请注…
Java集合源码分析之Map(六):LinkedHashMap
LinkedHashMap是HashMap的子类,所以也具备HashMap的诸多特性。不同的是,LinkedHashMap还维护了一个双向链表,以保证通过Iterator遍历时顺序与插入顺序一致。除此之外,它还支持Acc…
Java集合框架——LinkedHashSet源码分析
LinkedHashSet 是基于 LinkedHashMap 来实现的,所以其迭代时可以采用插入顺序或者访问顺序。 LinkedHashSet 的源码很简单,但需要搞清楚 HashMap,LinkedHashMap,H…
java集合框架之ArrayList源码分析——如何扩展容量
java集合框架之ArrayList源码分析——如何扩展容量 大家好,我是Andy,那个永远积极向上且自恋的Andy 1.介绍 ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量,并随着往…
Java IO:PipedReader和PipedWriter使用详解及源码分析
使用方法 PipedReader和PipedWriter即管道输入流和输出流,可用于线程间管道通信。它们和PipedInputStream/PipedOutputStream区别是前者操作的是字符后者是字节。 方法介…