news 2026/8/13 11:23:05

滴滴Java基础专项面经:HashMap红黑树、ConcurrentHashMap、ThreadLocal、WeakReference

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
滴滴Java基础专项面经:HashMap红黑树、ConcurrentHashMap、ThreadLocal、WeakReference

上篇聊完架构师技术决策,这篇进入滴滴Java基础专项。Java基础是Android面试的必考内容——HashMap底层实现(红黑树转换)、ConcurrentHashMap并发安全、ThreadLocal线程隔离、WeakReference内存管理。

今天8道题覆盖滴滴Java基础面试核心考点。

Q1:HashMap什么时候链表转红黑树?

条件:同一hash桶链表长度>=8且数组长度>=64时,链表转红黑树。数组<64优先扩容。

为什么是8:根据泊松分布,链表达到8的概率极低(<0.00000006)。8是空间和时间的平衡。

红黑树特性:查找/插入/删除O(logn)(链表O(n))。节点占用空间是链表的2倍。树节点<=6时退化回链表。

追问:HashMap的hash计算为什么用(h = key.hashCode()) ^ (h >>> 16)?高16位异或低16位,让高位也参与hash计算,减少hash冲突(尤其是数组较小时只用低位容易导致冲突)。

Q2:ConcurrentHashMap怎么保证线程安全?

JDK 1.7:分段锁(Segment数组,每个Segment独立加锁)。并发度=Segment数量(默认16个)。

JDK 1.8:CAS + synchronized。空桶用CAS直接写入,非空桶用synchronized锁住链表头节点

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 11:23:04

滴滴网络编程专项面经:TCP三次握手、HTTPS加密流程、DNS解析优化、网络状态监听

上篇聊完Java基础,这篇进入滴滴网络编程专项。滴滴出行高度依赖网络——叫车请求、实时定位上报、行程同步。网络编程面试考TCP原理、HTTPS加密、DNS优化、网络状态监听。 今天8道题覆盖滴滴网络编程面试核心考点。 Q1:TCP三次握手的过程和原因? 过程:客户端发送SYN(se…

作者头像 李华
网站建设 2026/8/13 11:22:06

怎么降低万方AI率?如何分章节修改并保护数据、术语和引用?

怎么降低万方AI率&#xff1f;如何分章节修改并保护数据、术语和引用&#xff1f; 需要处理较长论文&#xff0c;又担心工具把实验参数和专业术语改错。很多人第一反应是把标记段落全部丢给大模型“降AI”&#xff0c;结果词换了一遍&#xff0c;问题没解决&#xff0c;数据和…

作者头像 李华
网站建设 2026/8/13 11:19:35

Python count()函数深度解析:从基础使用到性能优化与实战避坑指南

1. 项目概述&#xff1a;为什么我们需要深入理解count()&#xff1f; 在Python的日常开发中&#xff0c; count() 函数可能是你最早接触、也最常使用的内置方法之一。无论是统计一个字符串里某个字母出现的次数&#xff0c;还是清点一个列表中特定元素的数量&#xff0c; co…

作者头像 李华
网站建设 2026/8/13 11:16:47

NLP中的注意力机制

文章目录1 注意力机制介绍1.1 概念1.2 为什么需要注意力&#xff1f;1.3 注意力QKV1.4 注意力机制步骤1.5注意力机制分类2 Seq2Seq架构中的注意力机制2.1 Seq2Seq架构2.2 Seq2Seq架构中的QKV2.3 注意力概率分布计算流程1 注意力机制介绍 1.1 概念 人类视觉的注意力机制&#…

作者头像 李华
网站建设 2026/8/13 11:16:25

Cesium三维可视化渲染质量深度调优:消除锯齿与模糊实战指南

1. 项目概述&#xff1a;从“毛边”到“锐利”&#xff0c;一次关于Cesium视觉质量的深度调优 如果你和我一样&#xff0c;长期在三维GIS或数字孪生领域摸爬滚打&#xff0c;那么对Cesium Viewer里那些恼人的“毛边”和“朦胧感”一定不会陌生。我说的就是模型边缘的锯齿&#…

作者头像 李华
网站建设 2026/8/13 11:15:30

Vite生产环境代码分割与懒加载优化实战指南

1. 项目概述&#xff1a;为什么生产环境优化是Vite项目的“必修课”如果你正在用Vite构建现代前端应用&#xff0c;并且项目即将或已经上线&#xff0c;那么“生产环境代码分割与懒加载优化”这个话题&#xff0c;就是你绕不开的一道坎。这绝不是纸上谈兵的理论&#xff0c;而是…

作者头像 李华