AbstractQueuedSynchronizer 先分析下同步器AbstractQueuedSynchronizer,这个是用于锁实现的类,ReentrantLock就用到了它 public final void a…
标签:HashMap源码分析
java源码Integer.bitCount算法解析,分析原理(统计二进制bit位)
算法:统计整数的二进制表达式中的bit位为1的位数(汉明重量) 普通算法 public int bitCount(int num) { int count = 0; do { if ((num & 1) == 1…
如何模拟一个XMLHttpRequest请求用于单元测试——nise源码阅读与分析
概述 在我们进行单元测试的过程中,如果我们需要对一些HTTP接口进行相关的业务测试,那么我们就需要来模拟HTTP请求的发送与响应,否则我们就无法完成测试的闭环。 目前,有许许多多的测试框架都提供了模拟HTTP请求相关的一…
Kill_Java -- ConcurrentHashMap源码分析
KillCode系列 — Java篇 原文发布在我的个人博客中killCode 因为JDK1.8 与 1.7 里对ConcurrentHashMap 有很多不同的更改以提高性能。所以特别找出类似的方面,进行分…
Java集合系列[3]----HashMap源码分析
前面我们已经分析了ArrayList和LinkedList这两个集合,我们知道ArrayList是基于数组实现的,LinkedList是基于链表实现的。它们各自有自己的优劣势,例如ArrayList在定位查找元素时会优于…
Java集合之HashSet源码分析
一、HashSet简介 HashSet是Set接口典型实现,它按照Hash算法来存储集合中的元素,具有很好的存取和查找性能。主要具有以下特点: 不保证set的迭代顺序 HashSet不是同步的,如果多个线程同时访问一…
Java集合源码分析(四)HashMap
一、HashMap简介 1.1、HashMap概述 HashMap是基于哈希表的Map接口实现的,它存储的是内容是键值对<key,value>映射。此类不保证映射的顺序,假定哈希函数将元素适当的分布在各桶…
Java集合之HashMap源码实现分析
1.简介 通过上面的一篇随笔我们知道了HashSet的底层是采用Map实现的,那么Map是什么?它的底层又是如何实现的呢?这下我们来分析下源码,看看具体的结构与实现。Map 集合类用于存储元素对(称作“键”和“值…
Java集合之HashMap源码分析
一、HashMap简介 HashMap是基于哈希表的Map接口实现的,它存储的是内容是键值对<key,value>映射。此类不保证映射的顺序,假定哈希函数将元素适当的分布在各桶之间,可为基本操作(get和…
Java集合系列[4]----LinkedHashMap源码分析
这篇文章我们开始分析LinkedHashMap的源码,LinkedHashMap继承了HashMap,也就是说LinkedHashMap是在HashMap的基础上扩展而来的,因此在看LinkedHashMap源码之前,读…
Java集合(13)--LinkedHashMap源码分析
HashMap使用哈希表来存储数据,并用拉链法来处理冲突。LinkedHashMap继承自HashMap,同时自身有一个链表,使用链表存储数据,不存在冲突。 LinkedList和LinkedHashMap一样使用一个双…
Java源码解析——集合框架(五)——HashMap源码分析
HashMap源码分析 HashMap的底层实现是面试中问到最多的,其原理也更加复杂,涉及的知识也越多,在项目中的使用也最多。因此清晰分析出其底层源码对于深刻理解其实现有重要的意义,jdk1.8之后其设计与…