如果你正在准备 Java 后端面试,大概率会在第一轮技术面里被问到集合。不是「用过 ArrayList 吗」这种,而是「HashMap 扩容为什么是 2 的幂」「链表什么时候转红黑树」「ConcurrentHashMap 怎么保证线程安全」。这门课就是冲着这类问题去的。
它解决的是面试现场那个卡壳的瞬间
很多人对集合的认知停在 API 层面:知道往 HashMap 里 put 和 get,知道 ArrayList 查询快、LinkedList 插入快。但面试官往下一问底层,就答不上来了。这门课把 ArrayList、LinkedList、HashMap 这几条主线逐个拆开,从数据结构本身讲起——数组、链表、二叉树怎么组织数据,各自在增删改查上付出什么代价,再落到 JDK 里的具体实现。学完之后,你面对的不是「背过的答案」,而是能自己推导出结论的模型。
HashMap 部分占的比重最大,也最值得看
课程里 HashMap 的源码分析是重头。哈希函数怎么算、扰动函数为什么要右移异或、扩容时元素怎么重新分布、链表转红黑树的阈值为什么定在 8——这些点串起来,基本覆盖了面试中 HashMap 的高频追问。配套的源码笔记和演示程序可以边看边跑,比纯听讲解印象深。需要提醒的是,这部分有前置要求:你得能看懂基本的 Java 语法和泛型,否则直接啃源码会比较吃力。
视频节奏偏讲解型,适合配着源码一起看
从资料构成看,视频按知识点切分,单个片段不长,适合通勤或午休时刷一段。但集合这块光看视频不够,真正吃透要靠自己对着 JDK 源码走一遍 put、resize、treeify 的流程。所以建议的用法是:先看视频建立整体框架,再打开源码笔记逐行对照,遇到想不通的地方回到视频里找对应片段。演示用的可执行包可以直接跑起来观察不同数据量下的行为差异,这个对理解扩容和树化很有帮助。
适合谁,不适合谁
- 适合:有一年左右 Java 使用经验、正在准备后端岗位面试、被集合底层问倒过的人。
- 适合:已经会写业务代码,但说不清常用集合内部机制、想补上这块短板的转行者。
- 不太适合:完全没写过 Java 的零基础,课程不教语法。
- 不太适合:想系统学 JVM、并发、框架源码的人,这门课只聚焦集合这一块。
资料怎么用效率最高
建议按「数据结构 → 具体实现 → 面试问题」的顺序走。先搞清楚数组、链表、二叉树各自的特性,再进入 ArrayList 和 LinkedList 的对比,最后攻 HashMap。每看完一个集合,试着自己回答三个问题:它的底层数据结构是什么、什么场景下性能会退化、JDK 做了哪些优化来规避。这三个问题答得出来,面试基本稳了。源码笔记适合当工具查阅,不用从头背,遇到记不清的细节翻一下就行。
整体来看,这是一门目标很窄但打得很深的课。它不承诺帮你拿下 offer,也不覆盖整个 Java 面试范围,只把集合这一个高频考点讲透。如果你正卡在「会用但说不清」的阶段,这门课值得花时间。如果集合已经能对着源码讲明白,那它对你的增量有限,可以跳过。
课程目录
第 1 部分189 集
- 07-常见集合篇 📁 📁 资料 资料资料.png [493.5 KB] hashmap源码.md [11.4 KB] hash-demo.jar [16.4 MB] 📁 📁 视频 常见集合篇-07-LinkedList-数据结构-链表.mp4
- [22.3 MB] 常见集合篇-09-数据结构-二叉树.mp4
- [25.0 MB] 常见集合篇-11-数据结构-散列表.mp4
- [36.9 MB] 常见集合篇-05-ArrayList-底层原理及构造函数相关面试题回答.mp4
- [7.9 MB] 常见集合篇-13-HashMap的put方法的具体流程.mp4
- [47.4 MB] 常见集合篇-08-ArrayList和LinkedList的区别是什么?.mp4
- [10.9 MB] 常见集合篇-15-HashMap源码分析-动画工具介绍.mp4
- [8.4 MB] 常见集合篇-12-HashMap-说一下HashMap的实现原理?.mp4
- [19.7 MB] 常见集合篇-01-集合面试题-课程介绍.mp4
- [14.1 MB] 常见集合篇-06-ArrayList-如何实现数组和List之间的转换.mp4
- [23.7 MB] 常见集合篇-02-算法复杂度分析.mp4
- [43.2 MB] 常见集合篇-16-HashMap的寻址算法和数组长度为什么是2的n次幂.mp4
- [32.3 MB] 常见集合篇-03-ArrayList-数据结构-数组.mp4
- [31.3 MB] 常见集合篇-14-HashMap-讲一讲HashMap的扩容机制.mp4
- [35.3 MB] 常见集合篇-04-ArrayList-源码分析.mp4
- [58.2 MB] 常见集合篇-10-数据结构-红黑树.mp4
- [16.0 MB] 常见集合篇-17-HashMap在1.7情况下的多线程死循环问题.mp4
- [21.3 MB] 📁 📁 PPT 07-常见集合篇.pptx [1.8 MB] 在线讲义文稿.txt [61.0 B] 📁 01-准备篇 📁 📁 视频 准备篇-03-应届生该如何找到合适的练手项目.mp4
- [25.7 MB] 准备篇-01-企业简历筛选规则.mp4
- [29.0 MB] 准备篇-02-简历注意事项.mp4
- [38.9 MB] 准备篇-04-Java程序员的面试过程.mp4
- [27.8 MB] 📁 📁 PPT 01-面试-准备篇.pptx [2.1 MB] 📁 📁 资料 📁 📁 Java开发参考简历 📁 📁 简历样式模板 灰色个性简历模板.docx
- [246.5 KB] 亲和版个人简历模板.docx
- [567.2 KB] 灰色大气简约简历模板.docx
- [119.9 KB] 时尚线条简历模板.docx
- [173.4 KB] 灰蓝色色时尚简历模板.docx
- [14.4 MB] 经典风格简历模板.docx
- [163.0 KB] 蓝色个性简历模板.docx
- [81.0 KB] 冷静版个人简历模板.docx
- [7.0 MB] 简约大气橙色简历模板.docx
- [185.3 KB] 科技版简历模板.doc [144.4 KB] 简洁版个人简历模板.docx
- [42.2 KB] 【参考】2年_本科.doc [124.5 KB] Java开发_CCC_N年.doc [36.5 KB] Java开发_YYY_N年.docx
- [126.0 KB] 【必看】Java批注简历标准.docx
- [71.6 KB] Java开发_KKK_N.docx
- [28.4 KB] 【参考】1年_本科.docx
- [25.2 KB] 【参考】1年_硕士.docx
- [179.8 KB] 【参考】3年_专科.doc [40.5 KB] Java开发_EEE_N年.docx
- [95.8 KB] Java开发_AAA_N年.docx
- [106.0 KB] Java开发_DDD_N年.docx
- [25.8 KB] 【必看】面试参考话术.docx
- [47.7 KB] Java开发_FFF_N年.docx
- [67.1 KB] 【参考】3年_本科.doc [94.0 KB] 【参考】1年_专科.docx
- [40.0 KB] Java开发_ZZZ_N年.docx
- [85.5 KB] Java开发_XXX_N年.docx
- [110.3 KB] 【参考】2年_专科.doc [51.5 KB] JAVA开发_李传播_5年.docx
- [97.0 KB] JAVA开发_李传播_5年.pdf
- [298.7 KB] 01-准备篇说明.zip
- [1.8 MB] 📁 02-Redis篇 📁 📁 视频 Redis篇-09-redis分布式锁-使用场景.mp4
- [22.8 MB] Redis篇-06-redis使用场景-缓存-持久化.mp4
- [41.8 MB] Redis篇-13-redis其他面试问题-分片集群、数据读写规则.mp4
- [19.7 MB] Redis篇-12-redis其他面试问题-哨兵模式、集群脑裂.mp4
- [33.2 MB] Redis篇-10-redis分布式锁-实现原理(setnx、redisson).mp4
- [54.8 MB] Redis篇-02-redis使用场景-缓存-缓存穿透.mp4
- [31.6 MB] Redis篇-03-redis使用场景-缓存-缓存击穿.mp4
- [20.8 MB] Redis篇-04-redis使用场景-缓存-缓存雪崩.mp4
- [13.0 MB] Redis篇-01-redis开篇.mp4
- [10.6 MB] Redis篇-07-redis使用场景-缓存-数据过期策略.mp4
- [19.3 MB] Redis篇-14-redis其他面试问题-redis是单线程的,但是为什么还那么快.mp4
- [81.5 MB] Redis篇-11-redis其他面试问题-主从复制、主从同步流程.mp4
- [31.9 MB] Redis篇-08-redis使用场景-缓存-数据淘汰策略.mp4
- [25.8 MB] Redis篇-05-redis使用场景-缓存-双写一致性.mp4
- [46.3 MB] 📁 📁 PPT 02-Redis篇.pptx [3.8 MB] 02-Redis篇必看.zip
- [1.8 MB] 在线讲义文稿.txt [61.0 B] 📁 05-微服务篇 📁 📁 视频 微服务篇-03-springcloud-注册中心eureka、nacos.mp4
- [27.7 MB] 微服务篇-07-业务问题-微服务限流(漏桶算法、令牌桶算法).mp4
- [41.3 MB] 微服务篇-08-分布式系统理论-CAP和BASE.mp4
- [33.0 MB] 微服务篇-09-业务问题-分布式事务解决方案.mp4
- [38.3 MB] 微服务篇-01-微服务-课程介绍.mp4
- [10.5 MB] 微服务篇-11-业务问题-你们项目中使用了什么分布式任务调度-xxl-job.mp4
- [43.5 MB] 微服务篇-06-spring-cloud-微服务的监控-skywalking.mp4
- [46.5 MB] 微服务篇-02-springcloud-常见组件有哪些.mp4
- [8.5 MB] 微服务篇-04-springcloud-ribbon负载均衡,负载均衡策略,自定义负载均衡.mp4
- [28.4 MB] 微服务篇-05-spring cloud-服务雪崩、熔断降级.mp4
- [23.2 MB] 微服务篇-10-业务问题-分布式服务的接口幂等性如何设计.mp4
- [27.3 MB] 📁 📁 PPT 05-微服务篇.pptx [2.5 MB] 📁 📁 资料 📁 📁 skywalking 📁 📁 讲义 📁 📁 项目链路追踪.assets image-20210803234832508.png [81.9 KB] image-20210803223105523.png [5.9 KB] image-20210803222905773.png [24.4 KB] image-20210803222919660.png [18.3 KB] image-20210803222949320.png [61.4 KB] image-20210803222612693.png [67.1 KB] image-20210803223048504.png [79.0 KB] image-20210803224538711.png [58.0 KB] image-20210803222626433.png [533.0 KB] image-20210803222932231.png [42.2 KB] image-20210803223000602.png [26.0 KB] image-20210803222724431.png [18.1 KB] image-20210803222828861.png [96.3 KB] image-20210803223118841.png [4.3 KB] image-20210803223015781.png [67.5 KB] image-20210803222647998.png [54.9 KB] image-20210803222738253.png [53.1 KB] image-20210803222810811.png [97.4 KB] image-20210803223035498.png [35.6 KB] image-20210803222753214.png [155.5 KB] image-20210803222848636.png [143.0 KB] 项目链路追踪.md [22.3 KB] 项目链路追踪.pdf
- [1.8 MB] 📁 📁 资料 在线讲义文稿.txt [61.0 B] 📁 08-并发编程篇 📁 📁 代码 jcstress-demo.zip
- [33.5 KB] thread-project.zip
- [69.8 KB] juc-project.zip
- [117.3 KB] 📁 📁 视频 02-线程基础-线程和进程的区别?.mp4
- [12.1 MB] 18-线程安全-死锁产生的条件以及死锁排查方案.mp4
- [34.7 MB] 28-使用场景-线程池使用场景(你们项目哪里用到了多线程)-异步线程.mp4
- [23.1 MB] 15-线程安全-什么是AQS.mp4
- [19.6 MB] 19-线程安全-聊一下ConcurrentHashMap.mp4
- [14.5 MB] 08-线程基础-如何停止一个正在运行的线程.mp4
- [26.9 MB] 11-线程安全-你谈谈 JMM(Java内存模型).mp4
- [13.3 MB] 26-使用场景-线程池使用场景(你们项目哪里用到了多线程)-ES数据批量导入.mp4
- [60.3 MB] 20-线程安全-导致并发程序出现问题的根本原因是什么.mp4
- [15.2 MB] 21-线程池-说一下线程池的核心参数(线程池的执行原理知道嘛).mp4
- [61.2 MB] 30-其他-谈谈你对ThreadLocal的理解.mp4
- [40.7 MB] 24-线程池-线程池的种类有哪些.mp4
- [40.7 MB] 06-线程基础-线程按顺序执行join、notify和notifyall区别.mp4
- [19.7 MB] 17-线程安全-synchronized和Lock有什么区别.mp4
- [48.5 MB] 27-使用场景-线程池使用场景(你们项目哪里用到了多线程)-数据汇总.mp4
- [32.9 MB] 07-线程基础-java中wait和sleep方法的不同.mp4
- [27.1 MB] 16-线程安全-ReentrantLock的实现原理.mp4
- [18.0 MB] 23-线程池-如何确定核心线程数.mp4
- [12.2 MB] 04-线程基础-线程创建的方式-runnable与callable区别-start和run区别.mp4
- [34.5 MB] 13-线程安全-请谈谈你对 volatile 的理解-可见性.mp4
- [28.2 MB] 22-线程池-线程池中有哪些常见的阻塞队列.mp4
- [17.3 MB] 29-使用场景-如何控制某个方法允许并发访问线程的数量.mp4
- [13.9 MB] 09-线程安全-synchronized关键字的底层原理-基础回答.mp4
- [31.3 MB] 14-线程安全-请谈谈你对 volatile 的理解-禁止指令重排序.mp4
- [39.9 MB] 03-线程基础-并行与并发的区别.mp4
- [13.6 MB] 05-线程基础-线程包括哪些状态,状态之间是如何变化的.mp4
- [26.0 MB] 10-线程安全-synchronized关键字的底层原理-进阶回答.mp4
- [45.7 MB] 12-线程安全-你谈谈对CAS的理解.mp4
- [26.9 MB] 01-多线程课程介绍.mp4
- [9.4 MB] 25-线程池-为什么不建议用Executors创建线程池.mp4
- [12.3 MB] 📁 📁 PPT 08-多线程相关面试题.pptx [1.6 MB] 在线讲义文稿.txt [61.0 B] 📁 09-JVM虚拟机篇 📁 📁 资料 资料资料.zip
- [1.8 MB] apache-tomcat-8.5.24.zip
- [70.4 MB] 📁 📁 视频 16-JVM实践-用的JVM调优的参数都有哪些?.mp4
- [19.9 MB] 10-垃圾回收-JVM垃圾回收算法有哪些?.mp4
- [15.1 MB] 07-类加载器-什么是类加载器、什么是双亲委派.mp4
- [27.9 MB] 11-垃圾回收-说一下JVM的分代回收.mp4
- [21.2 MB] 09-垃圾回收-对象什么时候可以被垃圾器回收.mp4
- [21.6 MB] 04-JVM组成-什么是虚拟机栈.mp4
- [28.0 MB] 19-JVM实践-CPU飙高的排查方案及思路.mp4
- [32.4 MB] 06-JVM组成-你听过直接内存吗.mp4
- [24.0 MB] 18-JVM实践-Java内存泄漏的排查思路.mp4
- [30.1 MB] 15-JVM实践-JVM调优参数可以在哪里设置参数值.mp4
- [10.3 MB] 17-JVM实践-说一下JVM调优的工具.mp4
- [56.5 MB] 12-垃圾回收-说一下JVM有哪些垃圾回收器.mp4
- [19.7 MB] 05-JVM组成-能不能介绍一下方法区.mp4
- [41.9 MB] 03-JVM组成-你能给我详细的介绍下堆吗.mp4
- [14.0 MB] 13-垃圾回收-详细聊一下G1垃圾回收器.mp4
- [27.3 MB] 02-JVM组成-什么是程序计数器.mp4
- [16.9 MB] 08-类加载器-说一下类装载的执行过程.mp4
- [36.7 MB] 01-JVM介绍、运行流程.mp4
- [16.8 MB] 14-垃圾回收-强引用、软引用、弱引用、虚引用的区别.mp4
- [19.5 MB] 📁 📁 代码 jvm-demo.zip
- [30.6 KB] 📁 📁 PPT 09-JVM相关面试题.pptx [3.8 MB] 在线讲义文稿.txt [61.0 B] 📁 06-消息中间件篇 📁 📁 视频 消息中间件篇-02-RabbitMQ-如何保证消息不丢失.mp4
- [26.0 MB] 消息中间件篇-01-消息中间件-课程介绍.mp4
- [4.4 MB] 消息中间件篇-09-Kafka的高可用机制有了解过嘛.mp4
- [17.7 MB] 消息中间件篇-06-RabbitMQ的高可用机制有了解过嘛.mp4
- [18.1 MB] 消息中间件篇-08-Kafka是如何保证消费的顺序性.mp4
- [11.2 MB] 消息中间件篇-11-Kafka实现高性能的设计有了解过嘛.mp4
- [19.3 MB] 消息中间件篇-10-Kafka数据清理机制了解过嘛.mp4
- [15.2 MB] 消息中间件篇-03-RabbitMQ-消息的重复消费问题如何解决的.mp4
- [5.8 MB] 消息中间件篇-07-Kafka是如何保证消息不丢失.mp4
- [36.9 MB] 消息中间件篇-05-RabbitMQ-如果有100万消息堆积在MQ , 如何解决(消息堆积怎么解决).mp4
- [11.5 MB] 消息中间件篇-04-RabbitMQ-中死信交换机 (RabbitMQ延迟队列有了解过嘛).mp4
- [28.4 MB] 📁 📁 PPT 06-消息中间件篇.pptx [2.9 MB] 在线讲义文稿.txt [61.0 B] 📁 04-框架篇 📁 📁 视频 框架篇-03-Spring-AOP相关面试题.mp4
- [41.4 MB] 框架篇-11-Mybatis-延迟加载使用及原理.mp4
- [43.7 MB] 框架篇-04-Spring-事务失效的场景.mp4
- [46.1 MB] 框架篇-01-框架篇-课程介绍.mp4
- [7.1 MB] 框架篇-05-Spring-bean的生命周期.mp4
- [53.7 MB] 框架篇-06-Spring-bean的循环依赖(循环引用).mp4
- [43.1 MB] 框架篇-12-Mybatis-一级、二级缓存.mp4
- [46.2 MB] 框架篇-10-MyBatis-执行流程.mp4
- [20.5 MB] 框架篇-09-spring框架常见的注解(spring、springmvc、springboot).mp4
- [15.1 MB] 框架篇-08-Springboot-自动配置原理.mp4
- [24.1 MB] 框架篇-02-Spring-单例bean是线程安全的吗.mp4
- [11.5 MB] 框架篇-07-Springmvc-执行流程.mp4
- [33.0 MB] 📁 📁 PPT 04-框架篇.pptx [1.8 MB] 📁 📁 代码 mybatis-demo.zip
- [45.4 KB] spring-demo.zip
- [16.3 KB] ssm-demo.zip
- [48.0 KB] 在线讲义文稿.txt [61.0 B] 📁 00-导学视频 00-面试专题-导学.mp4
- [30.2 MB] 📁 03-数据库篇 📁 📁 视频 数据库篇-07-优化-索引创建的原则.mp4
- [18.7 MB] 数据库篇-05-优化-聚簇索引和非聚簇索引、回表查询.mp4
- [20.1 MB] 数据库篇-06-优化-覆盖索引、超大分页优化.mp4
- [26.1 MB] 数据库篇-14-MySQL-主从同步原理.mp4
- [10.2 MB] 数据库篇-11-事务-并发事务问题、隔离级别.mp4
- [21.9 MB] 数据库篇-02-优化-如何定位慢查询.mp4
- [16.1 MB] 数据库篇-15-MySQL-分库分表.mp4
- [59.7 MB] 数据库篇-09-优化-谈一谈你对sql优化的经验.mp4
- [25.0 MB] 数据库篇-10-事务-事务的特性.mp4
- [11.4 MB] 数据库篇-03-优化-sql语句执行的很慢,如何分析.mp4
- [25.4 MB] 数据库篇-13-事务-解释一下mvcc.mp4
- [67.9 MB] 数据库篇-08-优化-什么情况下索引会失效.mp4
- [41.0 MB] 数据库篇-04-优化-索引概念及索引底层数据结构.mp4
- [33.9 MB] 数据库篇-01-MySQL篇-课程介绍.mp4
- [8.8 MB] 数据库篇-12-事务-undo log 和 redo log的区别.mp4
- [21.8 MB] 📁 📁 PPT 03-MySQL篇.pptx [4.0 MB] 在线讲义文稿.txt [61.0 B] 📁 10-企业场景篇 📁 📁 视频 05-设计模式-策略模式-概述及简单案例.mp4
- [16.7 MB] 08-技术场景-单点登录这块怎么实现的.mp4
- [19.3 MB] 13-技术场景-常见日志的命令.mp4
- [17.0 MB] 02-设计模式-工厂设计模式-简单工厂模式.mp4
- [29.2 MB] 15-技术场景-怎么快速定位系统的瓶颈.mp4
- [15.7 MB] 14-技术场景-生产问题怎么排查.mp4
- [19.4 MB] 07-设计模式-责任链模式-概述及案例.mp4
- [32.7 MB] 12-技术场景-你们项目中日志怎么采集的.mp4
- [28.7 MB] 03-设计模式-工厂设计模式-工厂方法模式.mp4
- [18.8 MB] 10-技术场景-上传数据的安全性你们怎么控制.mp4
- [10.2 MB] 09-技术场景-权限认证是如何实现的.mp4
- [11.1 MB] 06-设计模式-综合案例-策略模式和工厂方法模式.mp4
- [59.7 MB] 04-设计模式-工厂设计模式-抽象工厂模式.mp4
- [17.9 MB] 01-设计模式-课程介绍.mp4
- [5.3 MB] 11-技术场景-遇到了哪些比较棘手的问题,怎么解决的.mp4
- [11.7 MB] 📁 📁 PPT 10-设计模式.pptx [740.8 KB] 11-常见技术场景.pptx [1.2 MB] 📁 📁 代码 📁 📁 资料 📁 📁 ELK搭建 📁 📁 ELK搭建.assets image-20230522112429309.png [39.1 KB] image-20230522105023786.png [14.9 KB] image-20230522111836857.png [84.2 KB] image-20230522102944443.png [139.8 KB] image-20230522112052902.png [56.5 KB] image-20230522112008818.png [88.0 KB] image-20230522112132304.png [50.7 KB] image-20230522103615291.png [48.4 KB] image-20230522104958953.png [13.8 KB] image-20230522101505429.png [16.8 KB] image-20230522105548828.png [107.1 KB] image-20230522112526401.png [220.8 KB] ELK搭建.md [8.4 KB] ELK搭建.pdf
- [861.6 KB] 在线讲义文稿.txt [61.0 B] Java面试专题课-完结篇.mp4
- [26.7 MB] 适合人群 Java后端开发者 Java面试者 学习收获 掌握Java集合框架 理解HashMap源码 提升面试技能 祝您学习愉快! 学有所成,前程似锦!



![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)


