- 0
- 0
- 约6.42千字
- 约 9页
- 2026-11-16 发布于河北
- 举报
Java项目源码面试题(含详细参考答案)
适用:后端开发、业务项目源码阅读、线上问题排查、工程落地面试
一、基础源码阅读类
1.说一说你阅读过哪些JDK核心类源码,挑一个讲清楚它的核心设计
参考答案:
日常重点看过ArrayList、HashMap、ThreadPoolExecutor、String这几个类。以HashMap为例:
底层是数组+链表+红黑树,数组称为哈希桶。put流程:
先对key做hash运算,定位桶下标;
如果桶位置为空,直接新建节点放入;
如果不为空,判断头节点是否和当前key相等,相等则覆盖value;
如果是链表,向后遍历,找到相同key覆盖,找不到追加到链表尾部;当链表长度达到树化阈值(默认8),同时数组容量大于等于64,链表转为红黑树;
如果是红黑树,走树节点的插入逻辑;
插入完成后判断容量,超过负载因子(默认0.75)乘以数组长度,触发扩容。
扩容时容量变为原来两倍,重新对所有节点rehash。因为容量是2的幂,rehash时节点只有两种去向:留在原下标,或者原下标+旧容量。
负载因子0.75是时间和空间的折中。太小浪费内存,太大哈希冲突概率明显上升。
2.ArrayList和LinkedList源码层面的区别,什么场景优先选哪一个
参考答案:
ArrayList底层是Ob
您可能关注的文档
最近下载
- 高二物理第一次月考卷(全解全析)(新八省专用,人教版2019必修第三册第9~12章).pdf VIP
- 最新人教版高中物理必修一单元测试题全套带答案解析.docx VIP
- 高中物理电磁感应单元测试.docx VIP
- 高中高一物理上学期期末考试试卷(含解析)-人教版高一全册物理试题.pdf VIP
- 山东省历年夏季普通高中学业水平考试物理试题(含解析).doc VIP
- 2020-2021学年湖北省部分省级示范高中高一(下)期末物理试卷(附答案详解).docx VIP
- 高中物理试题分类精选.doc VIP
- 高中物理必修3物理-全册全单元精选测试卷测试卷(含答案解析).doc VIP
- 高中物理试题.docx VIP
- (高中物理试卷.doc VIP
原创力文档

文档评论(0)