你现在的位置
读完这 20 篇你能:
- 写现代 Java 21 语法(var / records / sealed / pattern matching / 文本块)
- 用 Stream + Optional + Lambda 处理数据
- 设计类 / 接口 / 泛型
- 用 Maven / Gradle 管项目
- 选合适的集合 / 异常处理
下一步——看你目标,下面是 Java 生态地图。
方向 1:Web 后端(最大职场刚需)
Spring Boot 是 Java Web 几乎唯一的标准:
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
学:
- Spring Core (DI / IoC)
- Spring Boot 自动配置
- Spring MVC / WebFlux
- Spring Data JPA / MyBatis
- Spring Security
- Spring Cloud(微服务)
资源:start.spring.io、官方 Guides、Baeldung、《Spring 实战》。
替代:Quarkus(云原生 / GraalVM 友好)、Micronaut(启动快)、Helidon(Oracle)。Spring 之外用得少。
方向 2:构建工具深入
Maven:
- 官方文档
- 多模块项目
- 插件机制(maven-shade / maven-assembly / surefire)
- 私有仓库(Nexus / Artifactory)
Gradle:
- 官方 user guide
- Kotlin DSL
- 多模块构建缓存
- Convention Plugins
方向 3:数据库 / ORM
| 工具 | 特点 |
|---|---|
| JPA / Hibernate | 老牌 ORM,Spring 默认 |
| MyBatis | 国内常用,SQL 灵活 |
| JOOQ | 类型安全的 SQL 构造 |
| Spring Data | 仓库接口式数据访问 |
方向 4:测试
- JUnit 5 + Mockito + AssertJ —— 单测三件套
- Testcontainers —— 容器化集成测试
- WireMock —— HTTP mock
- Cucumber —— BDD 测试
@Test
void shouldSumPositive() {
assertThat(Calculator.sum(1, 2)).isEqualTo(3);
}
测试是工程实践的核心——这套 20 篇没展开,独立成系列才合适。
方向 5:并发 / 性能
- java.util.concurrent:CompletableFuture / ExecutorService
- Project Loom(Java 21):虚拟线程——一行代码 + Thread.startVirtualThread 替代复杂的 reactive 编程
- Reactive:Project Reactor / RxJava(Loom 后用得越来越少)
- JMH:基准测试
// 虚拟线程:百万级并发
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
for (int i = 0; i < 1_000_000; i++) {
executor.submit(() -> doIO());
}
}
虚拟线程是 Java 21 最大新特性——用它写并发,比传统线程池 / 反应式简单太多。
方向 6:JVM 内部
- 内存模型:堆 / 栈 / 元空间
- GC 算法:G1 / ZGC / Parallel
- JIT 编译器:C1 / C2
- 性能分析工具:JFR / Async Profiler / Flame Graph
- AOT 编译:GraalVM Native Image(启动 < 50ms)
经典书:《深入理解 Java 虚拟机》(周志明)、《Java Performance》(Scott Oaks)。
方向 7:移动 / Android
Android 官方推荐 Kotlin——但 Java 仍可用(且 Android API 中大量 Java 代码需要理解)。
学 Kotlin 是天然下一步:
- 与 Java 100% 互操作
- 解决 Java 的所有"啰嗦"问题(getter/setter / null safety)
- JetBrains 出品,IDE 支持完美
方向 8:大数据 / 流处理
Java/Scala 仍是大数据主力:
- Apache Spark:分布式批处理
- Apache Flink:流处理
- Apache Kafka:消息队列
- Apache Hadoop / HDFS:存储
跳进这片需要:分布式系统基础 + SQL + 集群运维。
方向 9:横向语言对比
| 语言 | 与 Java 关系 |
|---|---|
| Kotlin | JVM 上的"现代 Java",互操作完美 |
| Scala | JVM + 函数式 + 类型系统更强 |
| Clojure | JVM 上的 Lisp |
| Groovy | 动态语言、Gradle 默认 DSL |
| C# | 微软系 "Java",语言演进更激进 |
| Go | 简单 + 静态 + 并发,常被对比 |
| Rust | 系统级,与 Java 几乎没共同点但值得学 |
方向 10:工程实践
本系列没展开的:
- 代码风格:Google Java Style / 阿里规约
- 设计模式:23 个 GoF,Java 例子最全
- 架构:DDD、Hexagonal、Clean Architecture
- CI/CD:Maven Central 发布、SemVer 版本
- 可观测性:Micrometer / OpenTelemetry
- API 文档:Javadoc / OpenAPI / Swagger
学习方法
- 做项目:跟着 Spring Boot Guides 写 5-10 个小项目
- 读 JDK 源码:
ArrayList/HashMap/String/CompletableFuture都值得读 - 关注 OpenJDK 演进:OpenJDK projects Loom / Panama / Valhalla 的最新动态
- 实战仓库:
推荐书籍
- 《Effective Java》(Joshua Bloch)—— 必读,第 3 版到 Java 9
- 《Java Concurrency in Practice》(Brian Goetz)—— 并发圣经
- 《深入理解 Java 虚拟机》(周志明)—— JVM 中文最佳
- 《Spring 微服务实战》—— Spring Cloud 入门
长期方向选择
| 想做的事 | 主攻 |
|---|---|
| 互联网业务后端 | Spring Boot + 数据库 + 微服务 |
| 大数据 | Spark / Flink / Kafka |
| Android 应用 | Kotlin(Java 基础后) |
| 中间件 / 框架 | JVM 深度 + 并发 + 网络(Netty) |
| 高频交易 / 金融 | JVM 性能 + Disruptor + 低延迟 |
| 编译器 / 语言 | OpenJDK + Truffle / GraalVM |
🎉 Java 系列完结。20 篇是底子——继续做项目、读高质量代码、学一个深入方向。
Java 25 LTS 已发布(2025 年 9 月)——本系列示例兼容 21 / 25。Pattern Matching / Vector API 在持续演进;String Templates 在 23 起重新设计,截至 25 仍未稳定,需关注官方进展。底层心智模型不会变。