程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在 指令运行过程中还需要用到磁盘、 …
Article
发布于 2024-11-06
摘要
发布于 2024-11-06
摘要
在jdk1.7的hashmap中在数组进行扩容的时候,因为链表是头插法,在进行数据迁移的过程中,有可能导致死循环 比如说,现在有两 …
发布于 2024-11-06
摘要
计算对象的 hashCode() 再进行调用 hash() 方法进行二次哈希, hashcode值右移16位再异或运算,让哈希分布 …
发布于 2024-11-06
摘要
在添加元素或初始化的时候需要调用resize方法进行扩容,第一次添加数据初始化数组长度为16,以后每次每次扩容都是达到了扩容阈值( …
发布于 2024-11-06
摘要
判断键值对数组table是否为空或为null,否则执行resize()进行扩容(初始化) 根据键值key计算hash值得到数组索引 …
发布于 2024-11-05
摘要
底层使用hash表数据结构,即数组+(链表 | 红黑树) 添加数据时,计算key的值确定元素在数组中的下标 key相同则替换 不同 …
发布于 2024-11-05
摘要
二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点 …
发布于 2024-11-05
摘要
底层的数据结构 ArrayList 是动态数组的数据结构实现 LinkedList 是双向链表的数据结构实现 操作数据效率 Arr …
发布于 2024-11-05
摘要
数组转List ,使用JDK中util.Arrays工具类的asList方法 List转数组,使用List的toArray方法。无 …
发布于 2024-11-05
摘要
底层数据结构 ArrayList底层是用动态的数组实现的 初始数据容量 ArrayList的初始容量为0,当它第一次添加数据的时候 …
