网站建设方案模板下载做网站怎么找公司

张小明 2025/12/31 16:52:00
网站建设方案模板下载,做网站怎么找公司,兰州百度推广的公司,跳转到手机网站代码面试官#xff08;张姐#xff09;#xff1a;哈喽 malog#xff01;今天咱们聚焦下 HashMap 的源码细节 —— 这可是 Java 面试的 “必考题”#xff0c;你平时有没有扒过它的 put 方法流程呀#xff1f;malog#xff1a;张姐好#xff01;必须扒过#xff5e;毕竟写…面试官张姐哈喽 malog今天咱们聚焦下 HashMap 的源码细节 —— 这可是 Java 面试的 “必考题”你平时有没有扒过它的 put 方法流程呀malog张姐好必须扒过毕竟写业务代码天天用 HashMap不搞懂源码总觉得心里没底哈哈。问答环节面试官张姐那你先给我捋捋HashMap 调用 put 方法时底层的 putVal 是咋干活的malog行putVal 的流程大概分 “初始化→算索引→插数据→查扩容” 这几步首先会先瞅 table 数组是不是空的要是没初始化就调用 resize () 整个默认长度 16 的数组然后给 key 算 hash 值 —— 这里有个 “扰动算法”把 key 的 hashCode 高 16 位和低 16 位异或一下再和数组长度减 1 做位运算算出要放的索引位置。要是这索引位置是空桶table [i] null直接插新节点就行要是非空就分情况要么 key 重复了直接覆盖 value要么是红黑树节点就往树里插要么是链表就遍历到尾巴插新节点 —— 插完还得看链表长度是不是超 8不过光超 8 还不够得数组长度也超 64 才会转红黑树不然只是扩容最后插完了要是 size 超过阈值容量 ×0.75就再 resize 扩容。面试官张姐细节挺到位那我追问下那个 “扰动算法” 到底为啥要搞个高 16 位和低 16 位异或直接用 hashCode 不行吗malog还真不行比如数组初始长度是 16(n-1) 就是 15二进制是 00001111要是直接用 hashCode 和它做位运算只有低 4 位参与计算高 16 位的特征就浪费了很容易撞哈希冲突。把高 16 位和低 16 位异或相当于让高位的 “特征” 也混到低位里散列性更好能少点冲突面试官张姐懂了那常有人说 “HashMap 链表长度到 8 就转红黑树”这说法对吗malog这是个常见误区得满足两个条件链表长度 8 且 数组长度 64。要是数组长度没到 64就算链表长过 8也不会转红黑树而是触发扩容 —— 毕竟数组太小的时候树化反而占内存不如先扩容让数据更分散面试官张姐那 put 完之后啥时候会触发扩容扩容是咋扩的malog当 size实际存储的键值对数量超过阈值threshold 容量 × 负载因子默认负载因子是 0.75的时候就会调用 resize () 扩容。扩容是把数组容量翻倍然后把旧数组里的节点重新计算索引迁移到新数组里 ——Java 8 之后迁移的时候还会顺便把链表拆成两个效率比之前高不少。面试官张姐不错不错源码细节吃得挺透重点问题和参考回答序号重点问题参考回答1HashMap 的 put 方法底层putVal流程是啥分 4 步① 检查 table 数组未初始化则调用 resize () 初始化默认长度 16② 用 “扰动算法” 计算 key 的 hash 值结合数组长度得到索引③ 空桶直接插节点非空则分情况key 重复覆盖 value / 红黑树插入 / 链表尾插满足条件则树化④ 插入后 size 超阈值则触发 resize () 扩容。2扰动算法hash 方法的作用是啥把 key 的 hashCode 高 16 位与低 16 位异或让高位特征参与索引计算增强散列性减少哈希冲突避免仅低几位参与运算导致的冲突。3HashMap 链表转红黑树的条件是啥需同时满足① 链表长度 8② 数组长度 64。若数组长度不足 64链表超长会触发扩容而非树化。4HashMap 的扩容触发条件和扩容逻辑是啥触发条件size实际键值对数量 阈值容量 × 负载因子 0.75扩容逻辑数组容量翻倍重新计算旧节点的索引并迁移到新数组Java 8 后会拆分链表提升效率。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

口碑好的盐城网站开发网站建设项目开发

在日常分享、物料印刷、信息存档等场景中,将照片转化为二维码是一种高效便捷的展示方式。扫码即可直接查看高清图片,无需手动传输或下载,无论是个人分享旅行照片、企业展示产品图册,还是活动现场陈列作品,都能大幅提升…

张小明 2025/12/30 19:33:37 网站建设

公司企业网站建设目的建网站公司销售

「编程类软件工具合集」 链接:https://pan.quark.cn/s/0b6102d9a66a引言:为什么需要高效的数据转换工具在数据处理工作中,Excel和TXT是两种最常见的文件格式。Excel适合复杂表格和数据分析,TXT则以轻量、跨平台著称。但实际场景中…

张小明 2025/12/30 22:05:21 网站建设

网站首页面设计简述动态和静态网页的区别

LangChain Agents驱动Qwen-Image-Edit-2509完成复杂图像指令 在电商运营的某个深夜,设计师正为上千张商品图逐一替换促销标语而焦头烂额。同一时间,另一名内容运营却只需输入一句“把这张图的‘618大促’改成‘双11狂欢’,背景换成红色渐变”…

张小明 2025/12/30 11:36:13 网站建设

seo站内站怎么做鼓楼网页seo搜索引擎优化

FaceFusion能否用于电影修复?经典影片面部增强在4K影院和流媒体平台普及的今天,许多观众第一次点开《罗马假日》或《卡萨布兰卡》时,可能会被画质“劝退”——模糊的脸庞、斑驳的噪点、失真的肤色,仿佛隔着一层老纱窗看世界。这些…

张小明 2025/12/30 14:19:17 网站建设

做动画在线观看网站网站营销seo

Realtek 8852CE无线网卡Ubuntu驱动问题终极解决方案 🚀 【免费下载链接】rtw89 Driver for Realtek 8852AE, an 802.11ax device 项目地址: https://gitcode.com/gh_mirrors/rt/rtw89 如果您正在使用Realtek 8852CE无线网卡并在Ubuntu 20.04系统上遇到Wi-Fi和…

张小明 2025/12/30 22:32:12 网站建设

网站建设和网站设计网页美工薪酬范围

【题目来源】 https://www.acwing.com/problem/content/848/ 【问题描述】 给定一颗树,树中包含 n 个结点(编号 1∼n)和 n−1 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定…

张小明 2025/12/26 7:24:17 网站建设