Java 进阶:从集合原理到并发安全的实战补漏

很多 Java 学习者处于一种尴尬状态:CRUD 业务代码能写,但遇到性能瓶颈或面试深挖时就露馅。这门课程专门解决“知其然不知其所以然”的问题,聚焦于 Java 核心集合、并发容器及 Web 底层原理。它不教零基础语法,而是针对备考和转岗人群的能力缺口,通过源码解读和手写模拟,打通从“会用”到“懂原理”的最后一公里。如果你经常对 ArrayList 扩容机制、ConcurrentHashMap 分段锁或 Cookie/Session 交互细节感到模糊,这门课正是为你设计的查漏补缺工具。

核心模块与学习路径建议

课程内容分为三大核心板块。第一块是集合源码深度解析,包括 ArrayList 的时间复杂度分析与手写实现,以及 HashMap/ConcurrentHashMap 的多线程安全原理。建议先从 ArrayList 切入,理解数组与链表的区别,再深入 ConcurrentHashMap 1.7 到 1.8 的扩容与 put 方法源码,这是高并发编程的基石。第二块是 Web 开发进阶,涵盖过滤器链配置、登录拦截实战、Axios 异步请求及 JSON 数据交互。这里重点在于将后端过滤器与前端 AJAX 请求串联起来,完成一个完整的登录注册闭环。第三块是会话技术,厘清 Cookie 与 Session 的原理差异。建议先看会话技术和集合基础,建立整体认知后再啃并发和源码,避免一开始就陷入复杂机制。

学完能做什么与资料配合

学完本节后,你将能够独立解答“为什么多线程下不建议使用 HashMap”、“ArrayList 扩容机制是怎样的”以及“如何基于过滤器实现登录拦截”等高频面试题。更重要的是,你能独立设计并实现一个包含前端异步交互、后端鉴权过滤和会话管理的完整 Web 模块。资料包中的视频文件配合动手练习效果最佳:务必跟随讲解亲自手写 ArrayList 和 ConcurrentHashMap 的核心逻辑,不要只看不练;在过滤器章节,应复现登录拦截场景,自行配置拦截路径;在 Ajax 部分,尝试用 Axios 改造原有的同步注册逻辑,体会异步交互的优势。通过源码阅读与代码复现的结合,真正内化这些底层原理。

课程目录

ArrayList集合源码解读
01.数据结构数组的时间复杂度.mp4 48.27M
02.为什么arraylist集合增加删除效率非.mp4 20.20M
03.简单纯手写arraylist集合.mp4 16.29M
04.arraylist集合add方法源码解读.mp4 38.10M
05.arraylist集合扩容源码解读源码解读.mp4 17.48M
06.arraylist集合get方法源码解读.mp4 4.10M
07.arraylist集合remove方法源码解读.mp4 26.36M
08.arraylist 与vector 区别.mp4 18.24M
09.总结arraylist集合源码.mp4 7.86M
axios(ajax)
01.过滤器基本使用常见场景.mp4 48.55M
02.过滤器拦截配置.mp4 32.64M
03.过滤器链.mp4 32.11M
04.登录注册加上过滤器.mp4 89.00M
05.获取当前上下文.mp4 6.27M
06.axios(ajax)发送请求.mp4 64.25M
07.axios验证用户名称是否存在.mp4 80.79M
08.js解析json数据.mp4 34.71M
09.fastjson用法.mp4 50.26M
10.ajax json改造注册代码.mp4 98.76M
ConcurrentHashMap原理低层
01.第一节-concurrenthashmap1.7源码解读课程.mp4 16.68M
03.第三节-为什么多线程情况下不推荐使用hashta.mp4 20.28M
04.第四节-concurrenthashmap1.7实现原理_.mp4 30.85M
05.第五节-简单模拟手写concurrenthashmap_bat.mp4 34.91M
06.第六节-concurrenthashmap扩容原理_batch.mp4 5.64M
07.第七节-concurrenthashmap无参构造函数原理.mp4 13.88M
08.第八节-concurrenthashmap无参构造函.mp4 69.61M
09.第九节-concurrenthashmapput方法原理0.mp4 36.13M
10.第十节-concurrenthashmapput方法原理02.mp4 47.69M
11.第十一节-concurrenthashmapput方法原理.mp4 28.61M
12.第十二节-concurrenthashmapput方法原理0.mp4 29.10M
13.第十三节-concurrenthashmapput方法原理05_ba.mp4 37.01M
14.第十四节-concurrenthashmapput方法原理06.mp4 18.55M
15.第十五节-concurrenthashmapput1.7源码总结_.mp4 18.98M
cookie与session
01.什么是会话技术?.mp4 26.06M
02.cookie基本用法.mp4 41.55M
03.cookie原理细节.mp4 30.51M
04.session的用法.mp4 30.05M
05.session的原理.mp4 53.07M
06.session的细节分析.mp4 62.92M
07.使用session用户登录.mp4 98.17M
08.使用cookie记住密码.mp4 39.67M
09.编写注册代码.mp4 78.39M
10.注册图形验证码.mp4 73.93M
HashMap7与8之间的区别
01.第一节-hashmap扩容源码解读课程安排.mp4 27.11M
02.第二节-hashmap核心参数有那些_b.mp4 79.78M
03.第三节-hashmap初始容量扩容原理01_batc.mp4 35.83M
04.第四节-hashmap初始容量扩容原理02_batch.mp4 26.94M
05.第五节-hashmapput方法源码解读01.mp4 25.35M
06.第六节-hashmapput方法源码解读02.mp4 55.85M
07.第七节-hashmap的modcount的作用_.mp4 24.79M
08.第八节-hashmap提前阈值扩容原理_batch.mp4 35.56M
09.第九节-hashmap8与hashmap7扩.mp4 26.44M
10.第十节-误区hashmap扩容的是否会重新计.mp4 36.34M
11.第十一节-hashmap1.7扩容底层实现原理01_ba.mp4 66.70M
12.第十二节-hashmap1.7扩容底层实现原理02_.mp4 37.07M
13.第十三节-hashmap1.7扩容如何实.mp4 58.31M
14.第十四节-模拟hashmap1.7扩容死循环.mp4 21.01M
15.第十五节-为什么jdk官方不承认1.7扩容死.mp4 11.61M
16.第十六节-hashmap1.8如何避免多线.mp4 43.89M
17.第十七节-hashmap8扩容与运算高位与.mp4 47.20M
18.第十八节-hashmap8扩容与运算高位与低位.mp4 34.05M
19.第十九节-为什么加载因子是0.75而不是1.mp4 14.43M
20.第二十节-hashmap如何存放1万条key效率最高.mp4 14.63M
21.第二十一节-hashmap1.7与1.8有那些区别_batch.mp4 25.59M
HashMap基于Lru实现缓存淘汰算法
01.第一节-为什么hashmap是无序集合_batc.mp4 26.76M
02.第二节-linkedhashmap有序集合原理 _batc.mp4 32.22M
03.第三节-缓存淘汰算法底层实现的.mp4 26.72M
04.第四节-linkedhashmap的使用_batch.mp4 34.08M
05.第五节-手写lru缓存淘汰算法_batch.mp4 23.04M
06.第六节-为什么hashmap不使用取模运算_batc.mp4 22.81M
07.第七节-java右移2底层实现原理_batch.mp4 26.67M
09.第九节-hashcode无符号右移16位原理_batch.mp4 24.52M
10.第十节-^异或运算的原理_batch.mp4 12.04M
11.第十一节-hashmap计算hash值的原理_batch.mp4 17.74M