你现在的位置

读完这 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官方 GuidesBaeldung、《Spring 实战》。

替代:Quarkus(云原生 / GraalVM 友好)、Micronaut(启动快)、Helidon(Oracle)。Spring 之外用得少。

方向 2:构建工具深入

Maven

  • 官方文档
  • 多模块项目
  • 插件机制(maven-shade / maven-assembly / surefire)
  • 私有仓库(Nexus / Artifactory)

Gradle

方向 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

学习方法

  1. 做项目:跟着 Spring Boot Guides 写 5-10 个小项目
  2. 读 JDK 源码ArrayList / HashMap / String / CompletableFuture 都值得读
  3. 关注 OpenJDK 演进OpenJDK projects Loom / Panama / Valhalla 的最新动态
  4. 实战仓库

推荐书籍

  • 《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 仍未稳定,需关注官方进展。底层心智模型不会变。