HashMap怎么查找元素的呢? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 HashMap怎么查找元素的呢?HashMap的查找就简单很多:使用扰动函数,获取新的哈希值:- 阅读剩余部分 -
HashMap的put流程知道吗? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 HashMap的put流程知道吗?首先进行哈希值的扰动,获取一个新的哈希值。(key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);- 阅读剩余部分 -
红黑树怎么保持平衡的知道吗? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 红黑树怎么保持平衡的知道吗?红黑树有两种方式保持平衡:旋转和染色。旋转:旋转分为两种,左旋和右旋- 阅读剩余部分 -
你对红黑树了解多少?为什么不用二叉树/平衡树呢? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 你对红黑树了解多少?为什么不用二叉树/平衡树呢?红黑树是一种基于二叉查找树的平衡树,通过引入一些规则来保持平衡:每个节点要么是红色,要么是黑色。根节点永远是黑色的。- 阅读剩余部分 -
能说一下HashMap的数据结构吗? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 能说一下HashMap的数据结构吗?JDK1.7的数据结构是基于"数组+链表"的,不过现在已经很少有人在使用JDK1.7了。让我来介绍一下JDK1.8的数据结构:JDK1.8的数据结构是由"数组+链表+红黑树"组成。- 阅读剩余部分 -
CopyOnWriteArrayList了解多少? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 CopyOnWriteArrayList了解多少?CopyOnWriteArrayList是ArrayList的线程安全版本。它的命名"CopyOnWrite"即表示了它的工作原理。- 阅读剩余部分 -
有哪几种实现ArrayList线程安全的方法? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 有哪几种实现ArrayList线程安全的方法?fail-fast是一种可能触发的机制,它实际上表示在迭代集合期间,如果集合结构被修改,将会抛出ConcurrentModificationException异常。尽管如此,ArrayList本身并没有提供线程安全的保证。为了保证ArrayList的线程安全,通常可以采用以下方案之一:- 阅读剩余部分 -
快速失败(fail-fast)和安全失败(fail-safe)了解吗? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 快速失败(fail-fast)和安全失败(fail-safe)了解吗?快速失败(fail-fast):快速失败是Java集合框架的一种错误检测机制。当使用迭代器遍历集合对象时,如果在遍历过程中,其他线程对集合对象的内容进行了修改(增加、删除、修改),就会抛出- 阅读剩余部分 -
ArrayList怎么序列化的知道吗? 为什么用transient修饰数组? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 ArrayList怎么序列化的知道吗? 为什么用transient修饰数组?对于ArrayList来说,其序列化方式与直接序列化元素数组不同。在ArrayList中,使用transient关键字修饰了存储元素的elementData数组,transient的作用是让被修饰的成员属性在序列化过程中被忽略。- 阅读剩余部分 -
ArrayList的扩容机制了解吗? 作者: 网管 时间: 2023-06-05 分类: stackoverflow经典问题 评论 ArrayList的扩容机制了解吗?ArrayList是一种基于数组的集合,其数组的容量在创建时被确定,并且如果在数组已满的情况下插入元素,会导致数组溢出。因此,在插入元素时,会先检查是否需要扩容。如果当前容量加上1超过数组长度,就会进行扩容操作。- 阅读剩余部分 -