05 2019 档案
摘要:简介 ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。 相比于同样线程安全的HashTable来说,效率等各方面都有极大地提高。 锁 没得办法,要分析 ConcurrentHashMap 必须先要了解锁机制,下面简单的介绍
阅读全文
摘要:我们知道,n代表的是table的长度length,之前一再强调,表table的长度需要取2的整数次幂,就是为了这里等价这里进行取模运算时的方便——取模运算转化成位运算公式:a%(2^n) 等价于 a&(2^n-1),而&操作比%操作具有更高的效率。 当length=2n时,(length - 1)正
阅读全文
摘要:通过分析HashMap来学习源码,那么通过此过程我们要带着这几个问题去一起探索 为什么要学习源码 怎么去学习 0.1 为什么要学习源码 这个问题,直接给出结论,学习源码肯定是有好处的,比如: 学习优秀的编码设计 学习一些有用的算法 学习一些简单而又实用的方法 装逼神器,面试加分 0.2 怎么去学习
阅读全文
摘要:定义类考题 什么是Hash?什么是HashMap? HashMap 的工作原理是什么 HashMap HashTable的区别 为什么要用HashMap 源码类考题 什么是hash碰撞,怎么减少碰撞, hash是怎么实现的 为什么hashMap 选择用红黑树 重新调整 HashMap 大小存在什么问
阅读全文
摘要:1. 位运算 参考 java中位运算^,&,<<,>>,<<<,>>>总结 2. 关键字 transient 理解一下这个关键字,顺便了解下序列化 参考 transient的作用及使用方法 Java中的关键字 transient 3. 数组、链表、红黑树 这些都是概念,了解即可 参考 史上最清晰的红
阅读全文

浙公网安备 33010602011771号