JAVA并发十二连招,你能接住吗?
Posted SoWhat1412
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA并发十二连招,你能接住吗?相关的知识,希望对你有一定的参考价值。
话不多说,干活走起。
1、HashMap
面试第一题必问的 HashMap,挺考验Javaer的基础功底的,别问为啥放在这,因为重要!HashMap具有如下特性:
- HashMap 的存取是没有顺序的。
- KV 均允许为 NULL。
- 多线程情况下该类安全,可以考虑用 HashTable。
- JDk8底层是数组 + 链表 + 红黑树,JDK7底层是数组 + 链表。
- 初始容量和装载因子是决定整个类性能的关键点,轻易不要动。
- HashMap是懒汉式创建的,只有在你put数据时候才会 build。
- 单向链表转换为红黑树的时候会先变化为双向链表最终转换为红黑树,切记双向链表跟红黑树是
共存
的。- 对于传入的两个
key
,会强制性的判别出个高低,目的是为了决定向左还是向右放置数据。- 链表转红黑树后会努力将红黑树的
root
节点和链表的头节点 跟table[i]
节点融合成一个。- 在删除的时候是先判断删除节点红黑树个数是否需要转链表,不转链表
以上是关于JAVA并发十二连招,你能接住吗?的主要内容,如果未能解决你的问题,请参考以下文章
大厂面试快问快答,10分钟搞定MySQL夺命20问,你都能接住吗?
大厂面试快问快答,10分钟搞定MySQL夺命20问,你都能接住吗?