01. Java + JVM
从语言基础到 JVM 原理、并发编程、设计模式、版本演进(Java 8-26),系统性构建 Java 知识体系。
📚 目录导航
| 序号 |
模块 |
说明 |
| 1 |
核心概念 |
基本语法、面向对象、类型系统、反射、序列化、SPI 等 |
| 2 |
集合框架 |
ArrayList、LinkedList、HashMap、ConcurrentHashMap 等源码剖析 |
| 3 |
I/O |
I/O 流分类、NIO、零拷贝 |
| 4 |
JVM |
类加载、内存模型、GC、JVM 参数与调优 |
| 5 |
并发编程 |
线程基础、synchronized、volatile、JMM、JUC、ThreadLocal、CompletableFuture |
| 6 |
设计模式 |
GoF 23 种设计模式的 Java 实现与选型指南 |
| 7 |
构建工具 |
Maven vs Gradle 对比与实战 |
| 8 |
Java Agent |
字节码增强、Instrumentation API、预加载与 Attach 模式 |
| 9 |
JDBC |
JDBC 架构、核心接口、连接池与最佳实践 |
| 10 |
Kotlin |
Kotlin 语法、与 Java 对比、协程基础 |
| 11 |
日志 |
日志级别、Logback、Log4j2、SLF4J 门面 |
| 12 |
模块系统 |
JPMS(Java 9+)、模块化迁移指南 |
| 13 |
网络编程 |
Socket、TCP/UDP、HTTP 客户端 |
| 14 |
测试 |
JUnit 5、Mockito、JaCoCo、测试最佳实践 |
| 15 |
版本特性 |
Java 8 ~ 26 各版本新特性 & 功能演进历史(GC/Lambda/Stream/并发/FFM 等) |
🗺️ 知识脉络
graph TB
Java["Java 知识体系"]
Java --> Core["语言核心"]
Java --> Runtime["运行时 & 底层"]
Java --> Eng["工程实践"]
Java --> Eco["生态扩展"]
Java --> Ver["版本演进"]
Core --> C1["核心概念<br/>语法/OOP/反射/SPI"]
Core --> C2["集合框架<br/>List/Set/Map 源码"]
Core --> C3["I/O<br/>BIO/NIO/零拷贝"]
Core --> C4["模块系统<br/>JPMS"]
Runtime --> R1["JVM<br/>类加载/内存/GC/调优"]
Runtime --> R2["Java Agent<br/>字节码增强"]
Runtime --> R3["并发编程<br/>线程/锁/JMM/JUC"]
Eng --> E1["设计模式<br/>GoF 23 种"]
Eng --> E2["构建工具<br/>Maven/Gradle"]
Eng --> E3["日志/测试<br/>Logback/JUnit5"]
Eng --> E4["JDBC/网络<br/>数据库/Socket"]
Eco --> K["Kotlin<br/>JVM 现代语言"]
Ver --> V["Java 8 → 26<br/>各版本特性演进"]
📊 速查表
| 概念 |
核心要点 |
典型场景 |
| HashMap |
数组 + 链表 + 红黑树(JDK8+),容量 2^n,负载因子 0.75 |
键值对查找,O(1) 平均 |
| ConcurrentHashMap |
JDK8: CAS + synchronized 锁桶头节点 |
高并发读写 |
| synchronized |
内置锁,JVM 实现,自动释放 |
简单同步场景 |
| ReentrantLock |
API 级锁,支持公平/非公平、可中断 |
复杂锁场景 |
| volatile |
保证可见性 + 禁止指令重排,不保证原子性 |
状态标志位、双重检查锁 |
| ThreadLocal |
线程本地存储,注意内存泄漏(remove) |
用户上下文、数据库连接 |
| JVM 内存 |
堆(对象)、栈(帧)、方法区(类信息)、本地方法栈、PC 寄存器 |
内存分析、OOM 排查 |
| GC 算法 |
标记-清除、复制、标记-整理、分代收集 |
调优 GC 参数 |
| 反射 |
运行时获取类信息、动态调用,性能开销较大 |
框架底层(Spring IoC) |
| SPI |
接口定义 + META-INF/services/ 配置 |
JDBC 驱动、Dubbo 扩展 |
🧭 学习路径
- 新人入门:核心概念 → 集合框架 → I/O → JDBC → 日志 → 测试
- 进阶深入:JVM → 并发编程 → 设计模式 → Java Agent
- 生态扩展:Kotlin → 模块系统 → 版本特性追踪
🔗 相关章节
📖 开源参考
📊 本节统计
| 统计维度 |
数值 |
口径 |
| 分类主题数 |
15 |
顶层 15 个分类目录(4 个主轴 01-language / 02-jvm / 03-concurrency / 04-patterns + 11 个周边) |
| 子 README 总数 |
97 |
含 15 个分类 README + 82 个 leaf README(depth ≥ 2) |
| 含 frontmatter 的 README |
98 / 98 |
100% 覆盖(含本顶层 README) |
| 配套面试题 |
40 篇 |
12.interview/01.java/ 下 leaf 文章数(2026-10-13 find 校对) |
统计时间戳:2026-08-13(Plan 2 Task 3 完成;note/01.java → note/01.java-and-jvm 迁移,4 个主轴子目录重命名,leaf 内容 100% 保留)
反向链
← 返回 note 总目录