hashmap的一些基础原理

关于浏览hashmap基础原理之后的一些汇总:

1、在JDK8及以后的版本中,HashMap引入了红黑树结构,其底层的数据结构变成了数组+链表或数组+红黑树。添加元素时,若桶中链表个数超过8,链表会转换成红黑树

具体原理为什么是8呢:泊松分布、概率学问题

2、红黑树,来源于二叉查找树,但是当二叉查找树最坏的情况会变成链表,所以引入红黑色的概念,而红黑树在插入跟删除时候主要数据的操作排列方式是左旋或者右旋,红黑树的查询时间复杂度是O(log N)

3、hashmap的初始容量是16,加载因子是0.75(泊松分布),当数据容量为16*0.75=12时,会进行数据的扩容,扩容是翻倍=32,但是还有一种扩容的情况,就是当数据大于8时候由链表转为树形存储时候,当检测到容量小于64时候,会进行扩容,因为数据过长原因还是由于空间不足。

原文地址:https://www.cnblogs.com/wengshuhang/p/9867090.html

时间: 2024-10-17 17:31:20

hashmap的一些基础原理的相关文章

Linux高可用集群方案之heartbeat基础原理及逻辑架构

 这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构,以及heartbeat的简单配置  ll  本文导航    · heartbeat之基本原理   · heartbeat之集群组件   · heartbeat之心跳连接   · heartbeat之脑裂(资源争用.资源隔离) · heartbeat之配置文件   · heartbeat至高可用集群配置  ll  要求  掌握heartbeat高可用集群的相关组件及简单配置   heartbeat之基本原理  heartbea

49 Linux操作系统原理、虚拟化技术基础原理

04 虚拟化技术基础原理 一.配置虚拟化网络 1.编辑配置文件 #关闭NetworkManager [[email protected] ~]# service NetworkManager stop [[email protected] ~]# chkconfig NetworkManager off    [[email protected] ~]# chkconfig --list NetworkManager NetworkManager  0:关闭  1:关闭  2:关闭  3:关闭

web socket and web worker 基础原理及使用

个人认为HTML5最吸引人的两大功能, web socket 和 worker为构建高效能的web应用提供了新的参考方案. 大体来说,web socket提供更高效的传输协议,web worker提供多线程提高web应用计算效率.最近项目有用到,对应两个问题的解决,目前运行效果来看还是很不错. 这里主要是总结这两个技术的基础原理,和常用API.备忘,也列举关键掌握点,入门和基础使用足以. Web Socket websocket是一种协议,本质上和http,tcp一样.协议是用来说明数据是如何传

核花宝典之脑功能成像(fMRI)基础原理

首发于Jinaffe长璟鹿的医学影像小漫画 关注专栏 写文章 核花宝典之脑功能成像(fMRI)基础原理 Jinaffe长璟鹿 4 个月前 我们只看图,不说话... ... 医学科普漫画 4 收藏 分享 举报 文章被以下专栏收录 Jinaffe长璟鹿的医学影像小漫画 不会画小漫画的女博士不是好的长颈鹿呀 进入专栏 2 条评论 写下你的评论 取消评论 筱贰获 长璟鹿姐姐好有才呀~~~ 0 赞 3 个月前 回复赞 举报 王善诚 题主自己画的吗?挺有才 0 赞 16 天前 回复赞 举报 推荐阅读 核花宝

X-ray/CT成像基础原理

首发于Jinaffe长璟鹿的医学影像小漫画 关注专栏 写文章 X-ray/CT成像基础原理 Jinaffe长璟鹿 5 个月前 我们只看图,不说话... ... 医学影像科普漫画 16 收藏 分享 举报 文章被以下专栏收录 Jinaffe长璟鹿的医学影像小漫画 不会画小漫画的女博士不是好的长颈鹿呀 进入专栏 15 条评论 写下你的评论 取消评论 叶茂青 这字看着真心累 0 赞 5 个月前 回复赞 举报 长胜兄 MRI呢 0 赞 5 个月前 回复赞 举报 查看对话 Jinaffe长璟鹿(作者)回复叶

第三十三天 LVS基础原理、调度算法、NAT和DR的实现 、LXC虚拟化

大规模站点构建框架 LVS的基础原理 LVS调度方法及NAT模型的实现 LVS  dr模型及lxc虚拟化 一.大规模站点架构框架 http: stateless keep-alive cookie: session 系统的:可扩展性.高可用性:99%, 99.9%, 99.999% .性能: 可扩展性: 容量:在一定时间内能完成的工作量 scale up: 向上扩展 scale out: 向外扩展 Cluster: 集群 构建高可扩展性系统的重要原则:在系统内部尽量避免串行化和交互 调度器:di

28_1_iptables系列之基础原理

iptables/netfilter:工作在linux内核中的网络防火墙,是一组工具.    netfilter:正真起作用的是netfilter,它是一个框架:    iptanles:是生成防火墙规则,并且将其附加在netfilter上真正实现数据报文过滤.nat.mangle等规则生成的工具. 1.一些网络知识:   ip报文首部,Tcp报文首部   事实上,网络防火墙的主要功能是根据报文首部实现的.(1)ip报文首部:   0:版本号(4),IP首部大小[结果*4](4),服务类型(8)

Web Service 之 http基础原理

Web Service 之 http基础原理 ========================================================================= 概述: 网络通信基础 ★进程间通信:IPC Socket(套接字):ip:port ★Client <--> Server Server: listen(监听状态,表示服务器正在等待新的传输链接进入) Client: ★客户端与服务器间通信实际上是客户端套接字和服务器端套接字间通信 IP:PORT(Cl

第五十二课 linux操作系统原理、虚拟机基础原理

linux操作系统原理 linux操作系统原理 虚拟机技术基础原理 虚拟机技术基础原理